读取熊猫数据框的索引转换为标头

时间:2018-12-17 12:16:21

标签: python pandas dataframe header

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)。这必须是COLUMN而不是行条目。 数据帧操作是最好的方法还是应该使用numpy?我从X x Y的xls文件开始。

我的代码:

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 :(得分:1)

您可以像这样简单地使用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

答案 1 :(得分:0)

您可以使用iterrows方法遍历数据框中的每一行,并将其附加到pandas.Series中。下面的示例代码:

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

print(x)

答案 2 :(得分:0)

根据选择重塑数据帧“ hdr”的转置可能会有所帮助。例如,

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

这会将数据帧转换为1x16的数组。