1:什么是DataFrame
import numpy as np
import pandas as pd
t = pd.DataFrame(np.arange(12).reshape((3,4)), index=list('abc'), columns=list('WXYZ'))
print(t)
#DataFrame对象既有行索引index(0轴)又有列索引columns(1轴)
# 0 1 2 3
# 0 0 1 2 3
# 1 4 5 6 7
# 2 8 9 10 11
2:DataFrame的基础属性
t.shape # 行数,列数
t.dtypes # 列数据类型
t.ndim # 数据纬度
t.index # 行索引
t.colunms # 列索引
t.values # 对象值, 二维ndarray数组
3:整体情况查询
t.head(3) # 显示头部几行,默认5行
t.tail(3) # 显示末尾几行,默认5行
t.info() # 相关信息概览,行数,列数,列索引,列非空值个数,列类型,内存占用
t.describe() # 快速综合统计结果,计数,均值,标准差,最大值,四分位数,最小值
4:DataFrame取行取列
方括号写数组,表示取行t[:10],对行进行操作
写字符串,表示的取列索引,对列进行操作t[:10]['W']
通过标签索引行数据
print(t.loc['a', 'X']) # 某行某列的数据
print(t.loc[['a', 'c'], ['X', 'Y']]) #取多行多列数据
通过位置获取行数据
print(t.iloc[[1, 2], [1, 2]])
5:通过bool索引
6:数据合并
(1)join相同行数合并:A.join(B),A有B没有的用NaN代替,A没有B有,将会舍掉。
(2)merge相同列数合并:按照指定的列把数据按照一定的方式合并到一起。how参数决定取交集,并集,以A为准,或者以B为准。on决定按照那个列进行对比,left-on='X',right-on='O'是将A的X列于B的O列进行比较。
7:索引以及复合索引
t = pd.DataFrame(np.arange(12).reshape((3,4)), index=list('abc'), columns=list('WXYZ'))
# print(t)
print(t.index) # 打印t的索引
t.index = ['d', 'e', 'f'] # 修改t的索引
print(t)
t1 = t.reindex(['d', 'e', 'g']) # 在原来的t上取de这是有的,g没有就用NaN代替
print(t)
print(t1)
print(t.set_index('W', drop=False)) # drop=False W这一列保留,drop=True则W不保留
# t.index是一个可迭代对象,可以进行迭代,可以转化成列表,len(),还可以使用unique()方法进行去重。
8:时间索引以及时间格式化