记录一些常用的操作,供日常使用
df.value_counts() 统计表类别个数
value_counts(values,sort=True, ascending=False, normalize=False,bins=None,dropna=True)
##
sort=True: 是否要进行排序;默认进行排序
ascending=False: 默认降序排列;
normalize=False: 是否要对计算结果进行标准化并显示标准化后的结果,默认是False。
bins=None: 可以自定义分组区间,默认是否;
dropna=True:是否删除缺失值nan,默认删除
df.head( n ) 用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行
df.tail( n ) 用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行
df.info() 返回表格的一些基本信息, 显示各列有多少非空值
df.describe() 查看计数,平均值,最小值,最大值,四分位数等
df.dropna(axis=0) 删除有空缺值的行(axis=0) 或列(axis=1)
df.isnull() 显示哪个值为缺失值
# df['列名'].isnull().sum(axis=0) #统计某一列
# df.isnull().sum(axis=0) #统计所有列,返回每列的情况
# df.isnull().sum().sum() #统计所有列,返回一个总数
df.query(“x1<10 & x2<20”) 进行数据筛选
pd.to_datetime(arg,errors =‘raise’,utc = None,format = None,unit = None ) 将给定的数据按照指定格式转换成日期格式
df.columns 输出表格的列名
data.interpolate() 线性插值函数
data.interpolate(method=‘spline’, order=3) 三次样条插值方法
#缺失值处理
# new_data = data.dropna() # 1--删除存在缺失值的行
# new_data = data.dropna(subset=['C1','Chla']) # 2--删除指定列存在缺失值的行
# new_data = data.dropna(thresh=15) # 3--删除行属性值不足k个的行(即删除缺失元素比较多的行-->n-15)
# data = data.fillna(method='ffill') # ffill---前填充;bfill--后填充
# data['C1'] = data['C1'].fillna(data['C1'].mean()) # 均值填充:.mean()--->.median()--->.mode()
subset = df[::rate] 以恒定速率rate降采样,rate自定义
多条件联合筛选
In [44]: df[(df['B'] > 0) & (df['3'] > 0)]
Out[44]:
A B 3 4 5 6
C 2 0.716184 0.318086 -0.540593 -2.408134 0.526977
In [45]: df.loc[:, (df.loc['C'] > 0) | (df.loc['5'] > 0)]
Out[45]:
A B 3 6
1 0 -1.160599 -1.236521 1.090875
2 1 -0.285893 0.918261 -0.007042
C 2 0.716184 0.318086 0.526977
D 3 0.718741 -1.420655 -1.608134
5 4 -0.541419 -1.195019 1.078212
6 5 0.454283 -0.763443 0.182736
按列筛选行
In [38]: df[df['B'] > 0]
Out[38]:
A B 3 4 5 6
C 2 0.716184 0.318086 -0.540593 -2.408134 0.526977
D 3 0.718741 -1.420655 -0.182436 0.333909 -1.608134
6 5 0.454283 -0.763443 0.065712 -0.336119 0.182736
按行筛选列
In [39]: df.loc[:, df.loc['C'] > 0]
Out[39]:
A B 3 6
1 0 -1.160599 -1.236521 1.090875
2 1 -0.285893 0.918261 -0.007042
C 2 0.716184 0.318086 0.526977
D 3 0.718741 -1.420655 -1.608134
5 4 -0.541419 -1.195019 1.078212
6 5 0.454283 -0.763443 0.182736