Прочитать индекс кадра данных pandas, преобразованного в заголовок - PullRequest
0 голосов
/ 17 декабря 2018

Вопрос Python для начинающих: у меня есть фрейм данных с формой X x Y.Я хочу преобразовать его в файл заголовка 1 x (X * Y).Так, например, как показано ниже 4x4 панд df:

a   e   i   m
b   f   j   n
c   g   k   o
d   h   l   p

Я хочу, чтобы результат был 1x16 (a, b, c, d, e, f ... o, p).Это должна быть КОЛОННА, а не запись в строке.Является ли манипуляция с фреймами данных лучшим способом или я должен использовать numpy?Я начинаю с файла xls X x Y.

Мой код:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import numpy.random as nr
import math

    %matplotlib inline
    #Load Data & Quick Peak
    hdr = pd.read_excel('header.xls', header=None)
    print(hdr)
    hdr.shape

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

Вы можете просто использовать melt() следующим образом:

import pandas as pd

data = {'col1': ['a', 'b', 'c', 'd'],
    'col2': ['e', 'f', 'g', 'h'],
    'col3': ['i', 'j', 'k', 'l'],
    'col4': ['m', 'n', 'o', 'p']}

df = pd.DataFrame(data)

print(df.melt()['value'])

результат:

0     a
1     b
2     c
3     d
4     e
5     f
6     g
7     h
8     i
9     j
10    k
11    l
12    m
13    n
14    o
15    p
0 голосов
/ 17 декабря 2018

Может помочь изменение транспонирования вашего фрейма данных 'hdr' в соответствии с выбором.Например,

hdr = pd.read_excel('header.xls', header = None)   
hdr_arr = df.T.values.reshape(1,16)

Преобразует кадр данных в массив 1x16.

0 голосов
/ 17 декабря 2018

Вы можете перебрать каждую строку в вашем фрейме данных, используя метод iterrows, и добавить его к pandas.Series.Пример кода ниже:

x = pd.Series([])
for index, row in hdr.iterrows():
    x = x.append(row)

print(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...