簡體   English   中英

列結合Pandas df

[英]Combining Columns Pandas df

我試圖在df中組合兩個列,但在兩個值之間保留一個空格

對於下面的df,我可以通過以下方式將它們組合起來。

d = ({
    'A' : ['Foo','Bar','Foo'],     
    'B' : ['A','B','C'],
    })

df = pd.DataFrame(data=d)

df["Com"] = df["A"].map(str) + df["B"]

輸出:

     A  B   Com
0  Foo  A  FooA
1  Bar  B  BarB
2  Foo  C  FooC

但我想在兩者之間留一個空間。 所以預期的輸出是:

     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C

您可以添加帶空格的新字符串:

df["Com"] = df["A"].map(str) + ' ' + df["B"]
print (df)
     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C

Python 3.6解決方案:

df["Com"] = [f'{i} {j}' for i, j in zip(df["A"], df["B"])]
print (df)
     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C

Python 3解決方案:

df["Com"] = ['{} {}'.format(i, j) for i, j in zip(df["A"], df["B"])]

我想你可以簡單地得到輸出

    df['Com']=df['A'] + ' ' + df['B']

python很聰明。

只需對DataFrame使用apply函數即可

df['Com'] = df.apply(lambda x: x['A']+' '+x['B'], axis=1)
df
Out[25]: 
     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM