引入包
import pandas as pd
DataFrame
df = pd.DataFrame({"c1": [1, 5, 5, 7, 4, 7, 7],
"c2": [2, 4, 2, 8, 4, 7, 7]})
c1 c2
0 1 2
1 5 4
2 5 2
3 7 8
4 4 4
5 7 7
6 7 7
fillna - 填充缺失数据
- 常数调用,df.fillna(0)‘
- 字典调用,对不同的列填充不同的值,df.fillna({1:0.5, 3:-1})
- 就地修改,fillna默认会返回新对象: _ = df.fillna(0, inplace=True)
- 对reindex有效的插值方法也可用于fillna
显示所有列
print([c for c in data])
多列筛选
排序
sort_values
merge函数
说明
https://blog.csdn.net/Hudas/article/details/123010001
pd.merge(left, right, how = 'inner', on = None, left_on = None, right_on = None,
left_index = False, right_index = False, sort = True, suffixes = ('_x','_y'),
copy = True, indicator = False, validate = None)
left、right:需要连接的两个DataFrame或Series,一左一右
how:两个数据连接方式,默认为inner,可设置inner、outer、left或right
on:作为连接键的字段,左右数据中都必须存在,否则需要用left_on和right_on来指定
left_on:左表的连接键字段
right_on:右表的连接键字段
left_index:为True时将左表的索引作为连接键,默认为False
right_index:为True时将右表的索引作为连接键,默认为False
suffixes:如果左右数据出现重复列,新数据表头会用此后缀进行区分,默认为_x和_y
示例
df_exp_base = pd.merge(df_exp_groupby, df_base_groupby, on = 'indices', suffixes = ('_t','_c'))
筛选
筛选满足条件的行
dataframe[dataframe.a>1]