ValueError: Shape of passed values is (36, 1), indices imply (1, 36)
时间: 2023-09-02 08:12:45 浏览: 215
ValueError: Format ‘jpg’ is not supported (supported formats: eps, pdf, pgf, png, ps, raw, rgba, svg
这个错误提示是因为你传递给 DataFrame 的数据的形状不正确。具体来说,你传递给 DataFrame 的数据有 36 个元素,但是 DataFrame 的列名列表只有一个元素,这会导致 DataFrame 的形状不正确。
举个例子,假设你有如下的代码:
```
import pandas as pd
# 创建一个包含 36 个元素的列表
data = list(range(36))
# 创建一个 DataFrame,列名列表只有一个元素
df = pd.DataFrame(data, columns=['coef'])
```
这个代码会创建一个包含 36 个元素的列表,并使用它来创建一个 DataFrame。由于我们只指定了一个列名,而这个 DataFrame 有 36 行,因此会出现错误提示:
```
ValueError: Shape of passed values is (36, 1), indices imply (1, 36)
```
为了解决这个问题,你需要传递给 DataFrame 一个合适的列名列表,使得它的长度与数据的列数相同。例如,如果你有两列数据,你可以使用如下的代码:
```
import pandas as pd
# 创建一个包含 36 个元素的列表
data = {'coef1': list(range(18)), 'coef2': list(range(18, 36))}
# 创建一个 DataFrame,列名列表包含两个元素
df = pd.DataFrame(data, columns=['coef1', 'coef2'])
```
这个代码会创建一个包含两列数据的 DataFrame,每列有 18 个元素。我们传递给 DataFrame 的列名列表包含两个元素,分别对应两列数据的列名。这样,DataFrame 的形状就正确了,不会出现上述的错误提示。
阅读全文