首页 > 解决方案 > 如何将我的 numpy 数组转换为 pandas 数据框?

问题描述

我有一个名为 heart_rate 的 numpy 数组,其大小为 (1181,) 我尝试使用以下代码将其转换为 pandas 数据框:

dataset = pd.DataFrame({'Column 1':heart_rate[:,0]})

但我收到以下错误:

IndexError:数组的索引过多

标签: pythonpandasnumpy

解决方案


做就是了:

dataset = pd.DataFrame({'Column 1':heart_rate})

或者

dataset = pd.DataFrame(heart_rate, columns=['Column 1'])

你的错误是你试图用太多索引器对数组进行切片,它是一个一维数组

例子:

In[2]:
heart_rate = np.arange(1,10)
heart_rate.shape

Out[2]: (9,)


In[3]:
df = pd.DataFrame(heart_rate, columns=['Column 1'])
df

Out[3]: 
   Column 1
0         1
1         2
2         3
3         4
4         5
5         6
6         7
7         8
8         9

In[4]:
df = pd.DataFrame({'Column 1':heart_rate})
df

Out[4]: 
   Column 1
0         1
1         2
2         3
3         4
4         5
5         6
6         7
7         8
8         9

在这里,您可以看到生成错误的是您的切片:

heart_rate[:,0]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-5-e1eba9de0086> in <module>()
----> 1 heart_rate[:,0]

IndexError: too many indices for array

推荐阅读