如何改变数据系列里面的每一个数据,我来详细解释一下。 我有一个板球比赛数据集,我想从整个数据集中找出两支球队相互比赛的次数。
team_names total_count
['Afghanistan','Bangladesh'] 1
我得到的结果是“阿富汗”和“孟加拉国”互相对战 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/