随笔 - 14, 文章 - 0, 评论 - 0, 阅读 - 209

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

11.pandas学习

Posted on   小熊_努力学习版  阅读(6)  评论(0编辑  收藏  举报

pandas学习网址:https://www.runoob.com/pandas/pandas.html

Pandas库

pandas是基于numpy的库,其中中提供了Series和DataFrame两个数据类型,可以很好的对时间序列和表格数据进行处理和分析,同时还可以方便将数据到处到excel表格中。

1. pandas序列——Series

  • 创建Series
  • index和name:series只有行标签和name,而DataFrame有行列标签。
  • series数据类型常用方法:
    1.loc、iloc索引序列数值:my_series.loc['标签名']采用标签索引;my_series.loc[int]采用位置顺序索引
    2.my_series.values:获取全部值
    3.my_sersies.index:获取
# 创建序列
data_series = pd.Series(np.arange(1,10), index = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'])
print(f'创建的序列为\n{data_series}\n创建的缺失值序列为\n{data_nan}')
a = data_series.loc['a'] == (data_nan.iloc[0])

2. pandas二维数据表格——DataFrame

  • 创建DataFrame数据表格
  • 向DataFrame二维数据表格添加数据
    新添加行列推荐统一采用pd.concat([data,newline],aixs = 0,ignore_index = True)aixs = 0(默认值)按行进行添加数据,axis = 1按列添加数据。ignore_index = True是指忽略当前的行索引,创建连续索引,若原来有特定的标签可以不写。
    在使用时有以下几点注意事项:1.添加行时,numpy创建的序列为列序列,若要将其视为一行进行添加需要多加一个[]。2.添加行时,列标签要采用与原数据集相同的标签。3.concat要求数据必须为Series或者DataFrame类型。
# 1.使用 concat 方法将新行添加到 DataFrame 中
# 假设 temp_ls 是你想要添加的新行的数据
new_row = pd.DataFrame([temp_ls], columns=data.columns)
data = pd.concat([data, new_row], ignore_index=True,axis = 0)
"""特别注意添加单行数据到DataFrame中要多加一个中括号[]才会被识别为一行,例如在
DataFrame中np.arange(1,5)是4行1列的数据,[np.arange(1,5)]才是1行4列的数据,
也就是[[1,2,3,4]],且concat是连接多个DataFrame的函数,必须将所添加数据转换为
DataFrame类型,同时列表签也要相同,不然不会添加到对应的列下方,而是另起一列。此外还要注意行标签的索引要连续,ignore_index = True意思是忽略当前行索引,创建一个新的连
续行索引。如果有特定的行标签就不用指定这个。"""
# 2.也可以采用获取数据表的行数来索引进行创建新行(因为python索引是从0开始的)(这个最简单)
data.loc[len(data)] = temp_ls #data.loc[data.shape[0]] = temp_ls
"""temp_ls为DataFrame类型,只要是数组即可而concat连接必须要求数据为Sreies或者DataFrame"""
# 3. 添加新列
"""不同于添加新行,dataframe可直接对列进行添加,也可以采用concat指定列"""
# 通过索引添加新列(只有列才能通过这种方式添加)
data['newline'] = np.arange(1,data.shape(0)+1)
# 通过concat合并添加
newline2 = pd.DataFrame({'newline2':np.arange(1,data.shape[0]+1)})
data = pd.concat([data,newline2],aixs = 1)
  • 删除行列
    采用data.drop('索引',axis= 0 ) axis= 0 默认值,默认从行标签中寻找索引并删除该行,axis = 1 索引列标签并删除该列。
  • 数据读写(excel)
    读取:pd.csv_read('file_name')、pd.excel_read('file_name')
    写入:data.to_csv('out_file')、data.to_excel('out_file')
    详见 https://www.runoob.com/pandas/pandas-csv-file.html
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示