gpt4 book ai didi

python - 通过使用字符串格式连接两个其他列来创建一个新列

转载 作者:行者123 更新时间:2023-11-28 16:57:46 25 4
gpt4 key购买 nike

我有以下代码将两列连接成一个新列:

import pandas as pd

d = {
'name': ['Tomek', 'Jacek', 'Placek'],
'surname': ['A', 'B', 'C'],
}

df = pd.DataFrame(d)
df['fullname'] = df['name'] + ' ' + df['surname']
print(df)

# output:
# name surname fullname
# 0 Tomek A Tomek A
# 1 Jacek B Jacek B
# 2 Placek C Placek C

但是,我需要改用字符串格式:

import pandas as pd

d = {
'name': ['Tomek', 'Jacek', 'Placek'],
'surname': ['A', 'B', 'C'],
}

df = pd.DataFrame(d)
df['fullname'] = f"{df['name']} {df['surname']}"
print(df)

但随后的输出是:

#     name surname                                           fullname
# 0 Tomek A 0 Tomek\n1 Jacek\n2 Placek\nName: n...
# 1 Jacek B 0 Tomek\n1 Jacek\n2 Placek\nName: n...
# 2 Placek C 0 Tomek\n1 Jacek\n2 Placek\nName: n...

我怎样才能使用字符串格式并仍然像第一个那样输出?

最佳答案

I need to use string formatting instead

使用zip() 然后列表理解

df['fill_name']=[f"{a} {b}" for a,b in zip(df.name,df.surname)]
print(df)

     name surname fill_name
0 Tomek A Tomek A
1 Jacek B Jacek B
2 Placek C Placek C

关于python - 通过使用字符串格式连接两个其他列来创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56790882/

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