gpt4 book ai didi

python - 所有 pandas 列都显示为字符串

转载 作者:行者123 更新时间:2023-12-01 06:42:53 28 4
gpt4 key购买 nike

我正在从数据库获取数据,我怀疑其中的所有数据都只是设置为字符串而不是 float 、整数等。当我将数据导入 pandas 数据框时,它全部显示为字符串。

print("products.dtypes")
product_category_name object
product_description_lenght object
product_height_cm object
product_id object
product_length_cm object
product_name_lenght object
product_photos_qty object
product_weight_g object
product_width_cm object
dtype: object

print (products.applymap(type))

结果:

product_category_name product_description_lenght product_height_cm  \
0 <class 'str'> <class 'str'> <class 'str'>
1 <class 'str'> <class 'str'> <class 'str'>
2 <class 'str'> <class 'str'> <class 'str'>
3 <class 'str'> <class 'str'> <class 'str'>
4 <class 'str'> <class 'str'> <class 'str'>
... ... ... ...
32946 <class 'str'> <class 'str'> <class 'str'>
32947 <class 'str'> <class 'str'> <class 'str'>
32948 <class 'str'> <class 'str'> <class 'str'>
32949 <class 'str'> <class 'str'> <class 'str'>
32950 <class 'str'> <class 'str'> <class 'str'>

product_id product_length_cm product_name_lenght product_photos_qty \
0 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
1 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
2 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
3 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
4 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
... ... ... ... ...
32946 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
32947 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
32948 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
32949 <class 'str'> <class 'str'> <class 'str'> <class 'str'>
32950 <class 'str'> <class 'str'> <class 'str'> <class 'str'>

product_weight_g product_width_cm
0 <class 'str'> <class 'str'>
1 <class 'str'> <class 'str'>
2 <class 'str'> <class 'str'>
3 <class 'str'> <class 'str'>
4 <class 'str'> <class 'str'>
... ... ...
32946 <class 'str'> <class 'str'>
32947 <class 'str'> <class 'str'>
32948 <class 'str'> <class 'str'>
32949 <class 'str'> <class 'str'>
32950 <class 'str'> <class 'str'>

[32951 rows x 9 columns]

当我查看数据时,有def。那里有数值。我尝试获取一个值并将其加 1,但无济于事。

products['test'] = products['product_description_lenght'] + 1
TypeError: can only concatenate str (not "int") to str

我尝试过 str.isnumeric 但所有内容都显示为非数字。

我可以做些什么来检测数值吗?

最佳答案

尝试使用以下内容:

import numbers
products['test'] = pd.to_numeric(products['product_description_lenght'], errors='ignore').apply(lambda x: x + 1 if isinstance(x, numbers.Number) else x)

关于python - 所有 pandas 列都显示为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59367628/

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