python dataframe 一行变多行
2022/7/6 14:21:34
本文主要是介绍python dataframe 一行变多行,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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 dataframe 一行变多行的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门