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的值

不要为了追逐,而忘记当初的样子。

浙公网安备 33010602011771号