如何阅读pandas

时间:2016-12-15 18:00:20

标签: python pandas data-cleaning

数据文件是这样的

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等都标有特定文本值,因此很容易区分。

1 个答案:

答案 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