Pandas的用法
1.创建二维数组的几种方法
方法1:通过列表创建
DataFrame对象里包含两个索引,行索引(0轴,axis=0),列索引(1轴,axis=1)
import pandas as pd import numpy as np li = [ [1,2,3,4], [2,3,4,5] ] # DataFrame对象里包含两个索引,行索引(0轴,axis=0),列索引(1轴,axis=1) d1=pd.DataFrame(data=li,index=['A','B'],columns=['views','loves','comments','tranfers']) print(d1)
方法2:通过numpy对象创建
nupy=np.arange(8).reshape(2,4) d2=pd.DataFrame(data=nupy,index=['A','B'],columns=['views','loves','comments','tranfers']) print('方法2:\n',d2)
方法3:通过字典的方式创建
dict = { 'views':[1,2,], 'loves':[2,3,], 'comments':[3,4,] } d3=pd.DataFrame(data=dict,index=['蓝队','红队']) print("方法3:\n",d3)
2.按索引创建二维数组
# 行索引 dates=pd.date_range(start='today',periods=6) # 数据 data_arr = np.random.randn(6,4) # 列索引 columns = ['A','B','C','D'] d4 = pd.DataFrame(data_arr,index=dates,columns=columns) print('索引:\n',d4)
练习:
# 建立一个以2021年每一天作为索引,值为随机数 dates=pd.date_range(start='1/1/2021',end='12/31/2021',freq='D') datas=np.random.randn(len(dates)) s1=pd.Series(datas,index=dates) print("练习:\n",s1[:3])
DataFrame的基本操作
数据:
import pandas as pd import numpy as np from matplotlib import pyplot as plt narr = np.arange(8).reshape(2,4) #DataFrame对象里包含两个索引,行索引(0轴,axis=0),列所索引(1轴,axis=1) d2 = pd.DataFrame(data=narr,index=['A','B'],columns=['views','loves','comments','tranfers']) print("数据:\n",d2)
1.查看基础属性
print('获取行数和列数\n',d2.shape) # 获取行数和列数 print('列数据类型\n',d2.dtypes) # 列数据类型 print('获取数据的维度\n',d2.ndim) # 获取数据的维度 print('行索引\n',d2.index) # 行索引 print('列索引\n',d2.columns) # 列索引 print('对象的值\n',d2.values,type(d2.values)) # 对象的值,二维ndarry数组
2.数据整体状况的查询
print("头部\n",d2.head(1)) # 显示头部的几行,默认5行 print("尾部\n",d2.tail(1)) # 显示尾部的几行,默认5行
print("分隔符".center(50,'=')) # 显示信息的预览:行数,列数,列类型,内存占用 print("info:",d2.info()) print("统计:".center(50,'*')) # 快速综合用计结果:计数,均值,标准差,最小值,1/4位数,中位数,3/4位数,最大值; print(d2.describe())
3.转置
print("转置操作:\n,d2.T)
4.按列进行排序
按照指定列进行排序, 默认是升序, 如果需要降序显示,设置ascending=False;
print('按列进行排序\n',d2) print('按指定的列进行降序排序:\n',d2.sort_values(by="views",ascending=False))
5.切片及查询
print('可以实现切片,但是不能索引\n',d2[:1]) # 可以实现切片,但是不能索引 print('1\n',d2['views']) # 通过标签查询,获取单列信息 print('2\n',d2.views) # 和上面的查询方式等价 print('标签查询多列信息\n',d2[['views','comments']]) # 通过标签查询多列信息
6.通过类似索引方式查询
iloc(通过位置进行行数据的获取)
loc(通过标签索引行数据)
print(d2) print('iloc(通过位置进行行数据的获取\n)',d2.iloc[0]) print(d2.iloc[-1:]) print('loc(通过标签索引行数据\n)',d2.loc["A"])
7.更改pandas的值
不要为了追逐,而忘记当初的样子。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话