我有包含这些值的 txt 文件:
108,612,620,900
168,960,680,1248
312,264,768,564
516,1332,888,1596
我需要将所有这些读入一行数据框。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 108 612 620 900 168 960 680 1248 312 264 768 564 516 1332 888 1596
我有很多这样的文件,所以我会继续向这个数据框追加行。
我相信我们需要某种正则表达式,但我无法弄清楚。现在这就是我所拥有的:
df = pd.read_csv(f,sep=",| ", header = None)
但这需要 、
和 (空格)作为分隔符,因为我希望它以换行符作为分隔符。
最佳答案
首先,读取数据:
df = pd.read_csv('test/t.txt', header=None)
它为您提供形状类似于 CSV 的 DataFrame。然后连接:
s = pd.concat((df.loc[i] for i in df.index), ignore_index=True)
它给你一个系列:
0 108
1 612
2 620
3 900
4 168
5 960
6 680
7 1248
8 312
9 264
10 768
11 564
12 516
13 1332
14 888
15 1596
dtype: int64
最后,如果你真的想要一个水平的 DataFrame:
pd.DataFrame([s])
给你:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 108 612 620 900 168 960 680 1248 312 264 768 564 516 1332 888 1596
由于您在评论中提到您有很多这样的文件,您应该简单地将所有系列存储在一个列表中,并在完成所有加载后立即构建一个包含所有这些文件的 DataFrame。
关于python - 将4行数据读入一行pandas数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890358/