gpt4 book ai didi

python - 使用 pandas DataFrame 将 2 列连接到新短语列中

转载 作者:行者123 更新时间:2023-12-01 07:51:45 24 4
gpt4 key购买 nike

我有一个像这样的数据框:

>>> df = pd.DataFrame({'id_sin':['s123','s124','s125','s126','s127'],
'num1':[12,10,23,6,np.nan],
'num2':['BG','TC','AB','RC',np.nan],
'fr':[1,1,1,1,0],
})
>>> df
fr id_sin num1 num2
0 1 s123 12 BG
1 1 s124 10 TC
2 1 s125 23 AB
3 1 s126 6 RC
4 0 s127 NaN NaN

我想在这样的短语中连接列 num1num2 (num2 is num1) ,其中 fr 为 1:

   fr id_sin  num1 num2    phrase
0 1 s123 12 BG BG is 12
1 1 s124 10 TC TC is 10
2 1 s125 23 AB AB is 23
3 1 s126 6 RC RC is 6

我尝试了这个但不起作用:

df['phrase'] = str(df['num2']) + ' is ' + str(df['num1'])

最佳答案

编辑:
如果您希望 num1 没有小数 .0,请将其转换为 Int64:

df.num1 = df.num1.astype('Int64')

Out[32]:
id_sin num1 num2 fr
0 s123 12 BG 1
1 s124 10 TC 1
2 s125 23 AB 1
3 s126 6 RC 1
4 s127 NaN NaN 0

尝试Series.str.cat

df.num2.str.cat(df.num1.astype(str), sep=' is ')

Out[2055]:
0 BG is 12
1 TC is 10
2 AB is 23
3 RC is 6
4 NaN
Name: num2, dtype: object
<小时/>

关于@rafael 评论。他的作品,只是其中的错别字造成了错误。它是:

dn['num2'].astype(str) + ' is ' + dn['num1'].astype(str)

关于python - 使用 pandas DataFrame 将 2 列连接到新短语列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56174211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com