小编Eka*_*ina的帖子

创建新列并使用下划线作为分隔符填充来自相同df的添加字符串

我有一个以下DataFrame:

import pandas as pd
ds = pd.DataFrame({'place': [1,2,3], 'date': ['6/7/2021','1/1/2031','1/4/2011'], 
'city':['Moscow','New York','Sidney'], 'kids':[5,3,1]})
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

city        date      kids   place
Moscow    6/7/2021     5       1
New York  1/1/2031     3       2
Sidney    1/4/2011     1       3
Run Code Online (Sandbox Code Playgroud)

我需要向DataFrame添加一个新列'key',其中的值将是一个字符串,它将是某些列的每一行中的值的并集:'city','date','place'和下划线( '_')作为分隔符.

最终目标:

city        date      kids   place   key
Moscow    6/7/2021     5       1     Moscow_6/7/2021_1
New York  1/1/2031     3       2     New York_1/1/2031_2
Sidney    1/4/2011     1       3     Sidney_1/4/2011_3
Run Code Online (Sandbox Code Playgroud)

首先,我将'place'列中的整数转换为字符串:

df['place'].apply(str)
Run Code Online (Sandbox Code Playgroud)

其次,我删除了我不需要的列(但实际上这个列应该在生成的df中):

col_list= list(df)
col_list.remove('kids')
Run Code Online (Sandbox Code Playgroud)

然后我尝试创建一个新列并用附加的字符串填充它:

df['key'] = df[col_list].apply(lambda x: x.sum())
Run Code Online (Sandbox Code Playgroud)

但是它在"键"列中返回NaN值,实际上值仍然不附加作为分隔符的下划线.

python dataframe pandas

2
推荐指数
1
解决办法
589
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1