python dataframe 一行变多行
python,dataframe,一行,多行
2025-04-07 09:01:22 时间
python代码报错:
'DataFrame' object has no attribute 'explode'
原因是pandas版本低于0.25,在0.25以上才有explode函数,所一不想升级的可以自己拆分
没有explode
原始数据:
import pandas as pd
df = pd.DataFrame({'country': ['China,US,Japan', 'Japan,EU,Australia,Australia', 'UK,Australia', 'Singapore,Netherland'],
'number': [100, 150, 120, 90],
'value': [1, 2, 3, 4],
'label': list('abcd')})
# 一行变多行函数
# 一行变多行代码
def split_row(df, col_name):
df[col_name] = df[col_name].str.split(',')
df_columns_list = df.columns.str.lower().tolist()
df_columns_list.remove(col_name)
df = (df
.set_index(df_columns_list)[col_name]
.apply(pd.Series)
.stack()
.reset_index()
.drop('level_' + str(len(df_columns_list)), axis=1)
.rename(columns={0: col_name}))
return df
切分:
print(split_row(df, "country"))
结果:
有explode
df["country"] = df["country"].str.split(",") df.explode("country")
相关文章
- python读写json_python格式化json
- Python人脸识别签到考勤系统
- 最美圣诞树!用Python画棵雪夜圣诞树送给你
- 如何利用Python画图
- 提高数据科学效率的 8 个Python神库!
- python怎么把字体调大_python修改字体
- python aic准则_pythonAIC准则下线性回归实现及模型检验案例分析
- b站动漫_python爬b站视频
- python 访问LDAP服务器「建议收藏」
- 绘图技巧 |Bokeh超强交互式Python可视化库作品分享
- Python || 皖事通安康码截图信息简易识别采集
- 多重共线性:python中利用statsmodels计算VIF和相关系数消除共线性
- python进制转换函数及方法[通俗易懂]
- python lambda拉姆达表达式「建议收藏」
- Python实现智能停车场车牌识别计费系统
- 【过程记录】python环境离线迁移
- python正则循环提取、替换等操作
- python 字符串转成数字_python数字转十六进制字符串
- 2022春节贺岁档电影开分,水门桥不理想,四海崩了!用Python一探究竟
- python自带的排列组合函数