[英]How to merge pandas columns within the same dataframe?
我有以下熊貓數據框:
colA ColB ColC
0 D
1 G
2 A
3 B
4 C
如何將其合並為 (*):
colA
0 D
1 G
2 A
3 B
4 C
到目前為止,我試圖:
df = pd.DataFrame.merge([df.ColA, df.ColB, df.ColC], how='right')
df
但是,它不起作用。 我怎樣才能得到 (*)?
您可以使用DataFrame.sum
:
df = df.sum(axis=1)
如果NaN
值,您可以先fillna
:
df = df.fillna('').sum(axis=1)
print (df)
0 D
1 G
2 A
3 B
4 C
dtype: object
使用apply
- join
另一種解決方案:
df = df.apply(''.join, axis=1)
#df = df.apply(lambda x: ''.join(x), axis=1)
print (df)
0 D
1 G
2 A
3 B
4 C
dtype: object
Series.combine_first
解決方案,但需要NaN
值:
print (df)
colA ColB ColC
0 NaN D NaN
1 NaN NaN G
2 A NaN NaN
3 NaN B NaN
4 C NaN NaN
df = df.colA.combine_first(df.ColB).combine_first(df.ColC)
print (df)
0 D
1 G
2 A
3 B
4 C
Name: colA, dtype: object
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.