我正在从数据库中获取数据,我怀疑其中的所有数据都被简单地设置为string,而不是float、int等。当我将数据导入到pandas dataframe中时,所有数据都显示为字符串。
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]
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)
我有这个“file.csv”文件要和熊猫一起读: 使用 输出为: 我知道,列是一个完整的字符串,因为: 我需要将其作为字符串列表来阅读,如。我尝试了这个问题中提供的解决方案,但没有成功,因为我的和字符实际上会把事情搞砸。 预期输出应为:
问题内容: 我正在使用Pandas读取一堆CSV。将选项json传递给dtype参数,以告诉pandas将哪些列读取为字符串而不是默认值: 在我的场景中,除少数特定列外, 所有 列均应读取为字符串。因此,与其将几列定义为str in ,不如将我选择的几列设置为int或float。有没有办法做到这一点? 这是循环遍历具有不同列的各种CSV的循环,因此在将整个csv读取为字符串()后进行直接列转换将不
问题内容: 我有一个带有ID号的大型数据框: 这些现在都是字符串。 我想转换为不使用循环-为此我使用。 问题是我的某些行包含无法转换为的脏数据,例如 如何(不使用循环)删除这些类型的事件,以便我可以放心使用? 问题答案: 您需要向功能添加参数: 如果是列: 但非数字会转换为,因此所有值都是。 对于需要转换到一些值,例如,然后转换为: 样品: 编辑:如果使用0.25+大熊猫,则可以使用:
问题内容: 如问题所述,我有一个很大的数据框,但看起来像: 我试图摆脱文本数据,并将其替换为预定义的数值等效项。例如,在这种情况下,我想分别用或替换的或值。有没有一种方法无需我手动输入和更改值? 问题答案: / 上面的一个有趣的通用版本: 一切都不是。
我想知道如何获取日期列的值。键入df时,“日期”列不显示。柱。我正试图用df将这个df转换成一个Json文件。to_json(),它获取除日期以外的所有值。谢谢大家。 输入[49]:输入(df)输出[49]:熊猫。果心框架数据帧
问题内容: 我最近发现了熊猫的“分配”方法,我发现它非常优雅。我的问题是新列的名称被指定为关键字,因此它不能包含空格或破折号。 但是如果我想将新列命名为“ ln(A)”怎么办?例如 我知道我可以在.assign调用之后立即重命名该列,但是我想了解更多有关此方法及其语法的信息。 问题答案: 您可以将关键字参数传递为字典,如下所示: