我有一个数据的文本文件,我想把它读入一个Pandas Dataframe 。这个文件看起来像这样:
PAGE 1 ----- DATE --- NAME
TEST 001
MATERIAL A
Angle | Body 1 | Body 2 | Body 3
30 | 123 | 456 | 789
60 | 123 | 456 | 789
90 | 123 | 456 | 789
PAGE 2 ----- DATE --- NAME
TEST 001
MATERIAL A
Angle | Body 4 | Body 5
30 | 123 | 456
60 | 123 | 456
90 | 123 | 456
PAGE 3 ----- DATE --- NAME
TEST 001
MATERIAL B
Angle | Body 1 | Body 2 | Body 3
30 | 123 | 456 | 789
60 | 123 | 456 | 789
90 | 123 | 456 | 789
每个文件有一个或多个测试和一个或多个材料。不同的测试将有不同数量的Angular 或物体。我想在一个数据框中包含单个测试和材料的所有数据,如下所示:
TEST 001 MATERIAL A
Angle | Body 1 | Body 2 | Body 3 | Body 4 | Body 5
30 | 123 | 456 | 789 | 123 | 456
60 | 123 | 456 | 789 | 123 | 456
90 | 123 | 456 | 789 | 123 | 456
我最初的做法是:
1. Parse the file to find every TEST and MATERIAL.
2. Create a separate dataframe for each page containing TEST 001 and MATERIAL A
3. Merge those dataframes on Angle
4. Continue iterating through each TEST-MATERIAL combo in the file.
这或多或少是可行的,但它非常笨拙和令人困惑,如果我在包含很多测试的文件上使用它会很慢。有没有更好的方法告诉Pandas整理数据,这样我就可以避免在我只想要一个 Dataframe 时制作多个 Dataframe ?我没有选择首先更改数据的结构。
1条答案
按热度按时间xuo3flqw1#
下面是一个使用pandas并借助 * 自定义函数 * 的命题:
输出: