繁体   English   中英

将4行数据读入一行pandas数据帧

[英]Read 4 lines of data into one row of pandas data frame

我有这样的值的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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM