我在 read_excel 之后有 df,其中一些值(來自一列,帶有字串)被劃分。我怎樣才能將它們合并回來?
例如:我的 df
{'CODE': ['A', None, 'B', None, None, 'C'],
'TEXT': ['A', 'a', 'B', 'b', 'b', 'C'],
'NUMBER': ['1', None, '2', None, None,'3']}
我想要的df
{'CODE': ['A','B','C'],
'TEXT': ['Aa','Bbb','C'],
'NUMBER': ['1','2','3']}
我找不到正確的解決方案。我嘗試以不同的方式匯入資料,但也無濟于事
uj5u.com熱心網友回復:
None您可以為具有聚合join和列的第一個非None值的組轉發填充缺失值或s NUMBER:
d = {'CODE': ['A', None, 'B', None, None, 'C'],
'TEXT': ['A', 'a', 'B', 'b', 'b', 'C'],
'NUMBER': ['1', None, '2', None, None,'3']}
df = pd.DataFrame(d)
df1 = df.groupby(df['CODE'].ffill()).agg({'TEXT':''.join, 'NUMBER':'first'}).reset_index()
print (df1)
CODE TEXT NUMBER
0 A Aa 1
1 B Bbb 2
2 C C 3
您可以生成字典:
cols = df.columns.difference(['CODE'])
d1 = dict.fromkeys(cols, 'first')
d1['TEXT'] = ''.join
df1 = df.groupby(df['CODE'].ffill()).agg(d1).reset_index()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/488335.html
上一篇:pandasdataframegroupbyrank生成意外的排名順序
下一篇:根據其他行中的值更改資料框
