将Pandas Dataframe日期索引和列转换为Numpy数组

时间:2016-10-03 13:23:20

标签: python arrays pandas numpy dataframe

如何将1列和具有多列的Pandas数据帧的索引转换为Numpy数组,其中日期与数据帧中的正确列值对齐?

这里有一些关于数据类型的问题,并且它正在努力将索引和列输出到一个数组中!

非常感谢帮助!

2 个答案:

答案 0 :(得分:3)

如果A是数据框,col是列:

import pandas as pd output = pd.np.column_stack((A.index.values, A.col.values))

答案 1 :(得分:1)

你需要的IIUC values

start = pd.to_datetime('2015-02-24')
rng = pd.date_range(start, periods=5)

df = pd.DataFrame({'a': range(5), 'b':list('ABCDE')}, index=rng)  
print (df)
            a  b
2015-02-24  0  A
2015-02-25  1  B
2015-02-26  2  C
2015-02-27  3  D
2015-02-28  4  E

print (df.values)
[[0 'A']
 [1 'B']
 [2 'C']
 [3 'D']
 [4 'E']]

如果需要索引值也首先在datetime中将string转换为index值,然后使用reset_indexindex转换为列:

df.index = df.index.astype(str)
print (df.reset_index().values)
[['2015-02-24' 0 'A']
 ['2015-02-25' 1 'B']
 ['2015-02-26' 2 'C']
 ['2015-02-27' 3 'D']
 ['2015-02-28' 4 'E']]