数据文件是这样的
A.1
B
C
D
A.2
E
F
,,,
(simplified somewhat)
需要读入像这样的pandas DataFrame:
A.1 B
A.1 C
A.1 D
A.2 E
A.2 F
...
A.1,A.2,A.3等之间的数据线数量不均匀 A.1,A.2等都标有特定文本值,因此很容易区分。
答案 0 :(得分:1)
...并且需要读入像这样的pandas DataFrame
我不相信pandas有任何功能支持直接将数据文件读入您想要的格式。而是将其读入熊猫,然后使用pandas api,例如apply
来创建一个新列等。这只是一种可能的方式,而不是说它是非常熊猫的。
import pandas as pd
import numpy as np
df = pd.DataFrame(['A.1','B','C','D','A.2','E','F'])
def stacker(row):
s = row[0]
return s if '.' in s else np.nan
df['section'] = df.apply(stacker, axis=1)
print(df.fillna(method='pad'))
# now there is a new column with the expected values
# some additional cleaning would be required to cut out some of the rows
0 section
0 A.1 A.1
1 B A.1
2 C A.1
3 D A.1
4 A.2 A.2
5 E A.2
6 F A.2