首页 > 解决方案 > 无法创建 Pandas 数据框

问题描述

我无法创建熊猫数据框。有人可以解释代码出了什么问题。

column1 = ['hello']
column2 = ['world']
index = ['a','b','c']
data1 = np.linspace(0,3,1)
data2 = np.arange(3)
data = [data1, data2]
columns = [column1, column2]
df = pd.DataFrame(data = data, columns= columns, index = index)

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py", line  387, in __init__
arrays, columns = _to_arrays(data, columns, dtype=dtype)
File "/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py", line 7483, in _to_arrays
dtype=dtype)
File "/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py", line 7540, in _list_to_arrays
coerce_float=coerce_float)
File "/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py", line 7598, in _convert_object_array
con=len(content)))
AssertionError: 2 columns passed, passed data had 3 columns

标签: pythonpandas

解决方案


您的对象 data1 具有三个元素。linespace 创建一维数组,您需要二维数组来表示 3 行和 2 列。

data1 = np.linspace(0,3,1)

您应该创建 3 行 2 列的数组。


推荐阅读