gpt4 book ai didi

python - 如何使用 python、pandas 修改(字符串数据列表为单个字符串)数据系列的每个元素?

转载 作者:行者123 更新时间:2023-12-05 04:49:41 25 4
gpt4 key购买 nike

如何改变数据系列里面的每一个数据,我来详细解释一下。我有一个板球比赛数据集,我想从整个数据集中找出两支球队相互比赛的次数。

team_names                    total_count

['Afghanistan','Bangladesh'] 1

enter image description here

我得到的结果是“阿富汗”和“孟加拉国”互相对战 1 次。但是在这里我想修改这个数据框。我不想显示 ['Afghanistan', 'Bangladesh'],而是想显示如下数据:

team_names                total_count

'Afghanistan-Bangladesh' 1

如何做到这一点?

(我试过:

1) df["team_names1"] = df['team_names'].str.join("-")

2) df['team_names1'] = df['team_names'].apply(lambda x: '-'.join(x))

3) df['team_names1'] = df['team_names'].apply(lambda x: '-'.join(x),1)

但它们都没有给我正确的输出。以上所有代码产生相同的输出:

team_names                                           total_count
[-'-A-f-g-h-a-n-i-s-t-a-n-'-,- -'-B-a-n-g-l-a-..] 1

最佳答案

如果 team_names 的值是一个字符串列表,使用:

df["team_names"] = df.team_names.str.join("-")

结果:

               team_names  total_count
0 Afghanistan-Bangladesh 1

如果这些值实际上是字符串文字,那么最好的选择是首先使用 ast.literal_eval 将它们转换为所需的数据类型(字符串列表):

import ast
df["team_names"] = df.team_names.apply(ast.literal_eval)
df["team_names"] = df.team_names.str.join("-")

结果:

               team_names  total_count
0 Afghanistan-Bangladesh 1

关于python - 如何使用 python、pandas 修改(字符串数据列表为单个字符串)数据系列的每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67529966/

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