gpt4 book ai didi

python - 将表导入 pandas 并指定缺失值的数据类型

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

我正在 pandas/Python 中使用 read_table 命令导入制表符分隔的文本文件。

q_data_1 = pd.read_table('data.txt', Skiprows=6, dtype={'numbers': np.float64})

...但是得到

AttributeError:“NoneType”对象没有属性“dtype”

如果没有 dtype 参数,该列将作为“对象”dtype 导入。

我认为“数字”列缺少数据,导致导入失败。我如何忽略这些值?

编辑(2013 年 5 月 25 日):知道如何对包含 (i) 时间(例如“00:03:06”)(ii) 日期(例如“2002-03-11”)的列执行此操作和百分比(“32.81%”)?所有这些都转换为对象。 (我已编辑 Q 来反射(reflect))(iv)带逗号的数字(例如“10,982”)将其转换为适当的数据类型?

最佳答案

读入 DataFrame 后(不限制数据类型),您可以使用 technique from this post 对其进行转换(使用 apply ) :

import locale
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8')
df = pd.DataFrame([['1,002.01'], ['300,000,000.1'], ['10']], columns=['numbers'])

In [4]: df['numbers']
Out[4]:
0 1,002.01
1 300,000,000.1
2 10
Name: numbers, dtype: object

In [5]: df['numbers'].apply(locale.atof)
Out[5]:
0 1.002010e+03
1 3.000000e+08
2 1.000000e+01
Name: numbers, dtype: float64

In[6]: df['numbers'] = df['numbers'].apply(locale.atof)

关于python - 将表导入 pandas 并指定缺失值的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16738612/

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