gpt4 book ai didi

python - 将字符串中的列名称分配给数据框 - Python

转载 作者:行者123 更新时间:2023-11-28 22:15:33 25 4
gpt4 key购买 nike

我在 Python 中有以下字符串(不是列表,是字符串):

a = ['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']

我还有以下数据框:

   0      1      2      3
0 AA AB BC CD
1 AZ ZR RT TN

我想要做的是将字符串“a”分配给数据框的列。我这样做了:

df.columns = a

但是我得到以下错误:

TypeError: Index(...) must be called with a collection of some kind, 
"['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date',
'cc_rec_end_date']" was passed

我无法将字符串直接传递给 df.columns。对此有什么想法吗?谢谢!!!!!!

最佳答案

您需要通过 ast.literal_eval 将字符串转换为列表:

import ast

df.columns = ast.literal_eval(a)

另一种使用stripsplit 的解决方案,最后删除每个列名的':

a = "['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']"

#solution 1
df.columns = [x.strip("'") for x in a.strip("[]").split(', ')]
#solution 2
df.columns = pd.Index(a.strip('[]').split(', ')).str.strip("'")

print (df)
cc_call_center_sk cc_call_center_id cc_rec_start_date cc_rec_end_date
0 AA AB BC CD
1 AZ ZR RT TN

关于python - 将字符串中的列名称分配给数据框 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810340/

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