gpt4 book ai didi

python - Pandas 按行读取数据

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

通常,数据以作为变量的列显示,但例如,如果我在 .txt 文件中有类似的内容

Data1,1,2,3,4,5
Data2,3,1,4

我能否以构建数据框的方式使用 pandas,就像我从中获得的那样

d = {"Data1":[1,2,3,4,5], "Data2": [3,1,4,1,2]}
df = pd.DataFrame(data=d)

编辑:最初我希望数据集的大小不同,但 pandas 不允许它抛出 ValueError

最佳答案

读入文件,转置数据框,稍微修改一下……等等。

伪造文件的设置:

>>> from io import StringIO
>>> file = StringIO('''Data1,1,2,3,4,5
...:Data2,3,1,4''')

创建数据框:

>>> df = pd.read_csv(file, header=None).T
>>> df = df.rename(columns=df.loc[0]).drop(0, axis=0)
>>>
>>> df
>>>
Data1 Data2
1 1 3
2 2 1
3 3 4
4 4 NaN
5 5 NaN

然而,这在 this 中做得更优雅一些。 Peter Leimbigler 的回答!

正如 ALollz 所指出的,这些解决方案仅在文件中没有任何行的字段多于第一行时才有效。

这是我对更普遍适用的解决方案的尝试:

>>> file = StringIO('''Data1,3,1,4
...:Data2,1,2,3,4,5
...:Data3,7,8''')
>>> df = pd.concat([pd.Series(line.split(',')) for line in file], axis=1)
>>> df.rename(columns=df.loc[0]).drop(0, axis=0).astype(float)
>>>
Data1 Data2 Data3
1 3.0 1.0 7.0
2 1.0 2.0 8.0
3 4.0 3.0 NaN
4 NaN 4.0 NaN
5 NaN 5.0 NaN

关于python - Pandas 按行读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53341774/

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