gpt4 book ai didi

python Pandas : convert a column to a string?

转载 作者:太空宇宙 更新时间:2023-11-04 02:48:58 25 4
gpt4 key购买 nike

我有一些专栏:

0                                            ['XS', '2X']
1 ['A2', '2X', '8W']
2 ['2X']
3 ['A2', 'FR', 'XS', '8W', '8E', '2X']
4 ['A5', 'FR', 'XS', 'QF', '2X', '23']
5 ['XS', '2X', 'MF']
6 None

我正在尝试迭代。我循环遍历该列并获取类型:

for item in data1['business_types']:
print(type(item))

表明类型是str类型

<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'NoneType'>

我想将此列中的对象转换为可以迭代的列表对象。

最佳答案

我想你需要 ast.literal_evalfillnaNone 替换为 []:

data1['business_types'] = data1['business_types'].fillna('[]').apply(ast.literal_eval)
print (data1)
business_types
0 [XS, 2X]
1 [A2, 2X, 8W]
2 [2X]
3 [A2, FR, XS, 8W, 8E, 2X]
4 [A5, FR, XS, QF, 2X, 23]
5 [XS, 2X, MF]
6 []

如果需要None (NaNs):

def f(x):
try:
return ast.literal_eval(x)
except ValueError:
return x

import ast

data1['business_types'] = data1['business_types'].apply(f)
print (data1)
business_types
0 [XS, 2X]
1 [A2, 2X, 8W]
2 [2X]
3 [A2, FR, XS, 8W, 8E, 2X]
4 [A5, FR, XS, QF, 2X, 23]
5 [XS, 2X, MF]
6 NaN

for item in data1['business_types']:
print(type(item))

<class 'list'>
<class 'list'>
<class 'list'>
<class 'list'>
<class 'list'>
<class 'list'>
<class 'float'>

关于 python Pandas : convert a column to a string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44413386/

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