大家好,我是欧K~
本期再给大家推荐几个pandas高效数据处理函数(持续更新),希望对你有所帮助:目录
1. 一行数据展开成多行(explode)
2. 多行数据合并成一行
3. 列依次的累加(cumsum)
4. 分组统计生成新的Dataframe
5. 指定位置插入列(insert)
6. 列条件替换(where)
示例数据:
df2 = pd.DataFrame({'id':['a','b','a','c'], 'data_1':[3,7,[1,4,5],9], 'data_2':[1,1,1,1]})
1. 将一行数据展开成多行(explode)
列表展开:
df2.explode('data_1').reset_index(drop=True)
2. 多行数据合并成一行
按id合并:
df2.groupby(['id']).agg({'data_1': [', '.join],'data_1': lambda x: list(x)}).reset_index()
3. 列依次的累加(cumsum)
类似打卡记录:
df2['data_cumsum'] = df2[['data_2','id']].groupby('id').cumsum()
4. 分组统计生成新的Dataframe
按id分组:
df2.groupby('id')['data_2'].count().to_frame('数量').reset_index()
5. 指定位置插入列(insert)
在第三列位置插入新列(从0开始计算):
new_col = np.random.randint(1,10,size=6) df2.insert(1, 'data_0', new_col)
6. 列条件替换(where)
指定列小于5的值替换成0:
df2['data_1'] = df2['data_1'].where(df2['data_1'] > 5 , 0)
END
以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享让更多人知道