gpt4 book ai didi

python - Pandas read_fwf 忽略列

转载 作者:行者123 更新时间:2023-11-30 22:54:51 32 4
gpt4 key购买 nike

我有一个 .asc 文件,其中每行有 655 个条目,看起来有点像下面这样(注意前导空格)

 -999 -999 -999 -999 -999 -999 -999 -999 -999 ... -999 -999

当我使用 pandas read_fwf 读取文件时

data = pd.read_fwf('Users/.../file.asc', index_col=False, sep=' ', skiprows=6, header=None, na_values=[-999])

前三列被扔到 0 列中,以便我获得输出

                   0    1    2    3    4    5    6    7    8    9   ...   641  \
0 -999 -999 -999 -999 NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN

该函数似乎将我的前 4 列解释为索引。 index_col=False 没有帮助解决问题。另外,我尝试让 pandas 创建索引列,但找不到此功能。

期待您的解决方案。谢谢。

最佳答案

更新2:在调用read_fwf()时使用colspecs参数

In [83]: df = pd.read_fwf(fn, skiprows=6, header=None, na_values=[-999],
....: colspecs=[(5,6)] * 654)


In [84]: df.head()
Out[84]:
0 1 2 3 4 5 6 7 8 9 ... 644 645 646 647 648 649 650 651 652 653
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

[5 rows x 654 columns]

更新:

使用read_csv()而不是read_fwf(),它会起作用:

In [61]: fn = r'D:\download\BRD_8110_YY_GIS.asc'

In [62]: df = pd.read_csv(fn, skiprows=6, header=None, na_values=[-999], delim_whitespace=True)

In [63]: df.head()
Out[63]:
0 1 2 3 4 5 6 7 8 9 ... 644 645 646 647 648 649 650 651 652 653
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

[5 rows x 654 columns]

关于python - Pandas read_fwf 忽略列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37629976/

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