2016-12-15 5 views
0
файла

данных, как этоКак читать неровный файл данных в панд

A.1 
B 
C 
D 
A.2 
E 
F 

,,, 
(simplified somewhat) 

и потребность читать в панде 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

предоставьте образцы кода, который вы пробовали. – happymacarts

+0

Пожалуйста, просмотрите мой ответ ниже, и отметьте или отметьте как принятое, если это поможет вам разобраться в проблеме. –

ответ

1

... и потребность прочитать в панде 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 

 Смежные вопросы

  • Нет связанных вопросов^_^