python如何输出两行_python pandas dataframe拆分行(某些行一行拆成多行)
簡單循環
最簡單的方式就是循環拆分一下唄。先上最簡單方法:import pandas as pd
df = pd.DataFrame({'A':['1','2','3'],'B':['1','2,3','4,5,6'],'C':['3','3','3']})
result = pd.DataFrame(columns=['A','B','C'])
print(df,'\n')for i in df.itertuples(): for j in i[2].split(','):
result = result.append({'A':i[1],'B':j,'C':i[3]},ignore_index=True)
print(result)
輸出:A B C0 1 1 31 2 2,3 32 3 4,5,6 3
A B C0 1 1 31 2 2 32 2 3 33 3 4 34 3 5 35 3 6 3
更高效的方法
采用expand直接進行擴展
df = pd.DataFrame({'A':['1','2','3'],'B':['1','2,3','4,5,6'],'C':['3','3','3']})
df = (df.set_index(['A','C'])['B']
.str.split(',', expand=True)
.stack()
.reset_index(level=2, drop=True)
.reset_index(name='B'))
print(df)
總結
以上是生活随笔為你收集整理的python如何输出两行_python pandas dataframe拆分行(某些行一行拆成多行)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光纤接口怎么接 图解_光纤的数据比网线快
- 下一篇: python中exception类的_面