gpt4 book ai didi

Python 和 Pandas : How to make pandas to behavior similarly to numpy. loadtxt?

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

我有一个像这样的表格,有 12 列和几行:

 1095         20      27595       14.1      106.4        191          1          0          0          0   6.998509   10.22539  
1001 32 9958 10.9 -30.6 13 1 0 0 0 6.908755 9.206132
1122 9 6125.9 23.5 -16.3 14 1 0 0 0 7.022868 8.720281
578 -9 16246 5.9 -25.7 -21 1 0 0 0 6.359574 9.695602

如果我使用numpy.loadtxt它运作得很好。但是,我想使用 Pandas 。我尝试过这样的事情

df = pd.read_csv('myFile.txt', sep=" ",header=None)

但是,它不起作用。错误是pandas.parser.CParserError: Error tokenizing data. C error: Expected 90 fields in line 2, saw 92

最佳答案

您传递了一个空格作为分隔符,您可以这样做 sep='\s+' 或更好的是 delim_whitespace=True ,它失败了,因为您的 txt 文件具有不同数量的空格。

In [61]:
import io
import pandas as pd
pd.read_csv(io.StringIO(t), delim_whitespace=True, header=None)
t="""1095 20 27595 14.1 106.4 191 1 0 0 0 6.998509 10.22539
1001 32 9958 10.9 -30.6 13 1 0 0 0 6.908755 9.206132
1122 9 6125.9 23.5 -16.3 14 1 0 0 0 7.022868 8.720281
578 -9 16246 5.9 -25.7 -21 1 0 0 0 6.359574 9.695602"""
pd.read_csv(io.StringIO(t), delim_whitespace=True, header=None)

Out[61]:
0 1 2 3 4 5 6 7 8 9 10 11
0 1095 20 27595.0 14.1 106.4 191 1 0 0 0 6.998509 10.225390
1 1001 32 9958.0 10.9 -30.6 13 1 0 0 0 6.908755 9.206132
2 1122 9 6125.9 23.5 -16.3 14 1 0 0 0 7.022868 8.720281
3 578 -9 16246.0 5.9 -25.7 -21 1 0 0 0 6.359574 9.695602

或者您可以使用read_fwf :

In [62]:    
pd.read_fwf(io.StringIO(t), header=None)
Out[62]:
0 1 2 3 4 5 6 7 8 9 10 11
0 1095 20 27595.0 14.1 106.4 191 1 0 0 0 6.998509 10.225390
1 1001 32 9958.0 10.9 -30.6 13 1 0 0 0 6.908755 9.206132
2 1122 9 6125.9 23.5 -16.3 14 1 0 0 0 7.022868 8.720281
3 578 -9 16246.0 5.9 -25.7 -21 1 0 0 0 6.359574 9.695602

关于Python 和 Pandas : How to make pandas to behavior similarly to numpy. loadtxt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410641/

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