добавление новых строк на основе заголовка столбца - PullRequest
0 голосов
/ 28 мая 2018
columns= ['A','B','C']
df= pd.DataFrame(columns=columns)

У меня есть пустой кадр данных, как указано выше, с именованным заголовком столбца, и у меня есть файлы, в которых каждый файл содержит данные, такие как A 32, B 43, C 21 и так далее.Я хочу заполнить фрейм данных таким образом, чтобы каждый файл занимал одну строку и добавлял данные в каждый файл в соответствующие заголовки столбцов.

example-

, чтобы было два файла, например-

file1    file2

A 32     A 56
B 31     B 34
C 45     C 12

тогда датафрейм будет

  'A'    'B'  'C'
  32     31    45
  56     34    12

edit-

for root, dirs, files in os.walk(dir_M):
    for name in files:

        L = [pd.read_csv(f, index_col=[0], header=None, sep='\s+')[1] for f in files]
        df = pd.concat(L, axis=1).T

1 Ответ

0 голосов
/ 28 мая 2018

Используйте понимание списка для list of DataFrame s с concat и транспонируйте:

#add /*.* for read all files
currentdir = 'path/*.*'

L = []
#loop by files
for file in glob.glob(currentdir):
    print (file)

    s = pd.read_csv(file, sep='|', header=None)[0]
    if (s.astype(str).str.strip().str.contains('\s+').any()):
        #print (s)
        df = s.str.rsplit(n=1, expand=True)
        df.columns = ['a','b']
        L.append(df.set_index('a')['b'])


df = pd.concat(L, axis=1, keys=range(len(L))).T
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...