我有两个变量如下。
py a = 2 b = 3
我想从中构建一个 DataFrame:
py df2 = pd.DataFrame({'A':a, 'B':b})
这会产生一个错误:
none ValueError: If using all scalar values, you must pass an index
我也尝试过这个:
py df2 = (pd.DataFrame({'a':a, 'b':b})).reset_index()
这给出了相同的错误消息。我该怎么做?
当从标量值构造 pandas 时DataFrame,pandas 需要一个索引,因为它将标量值解释为需要跨行广播。要解决此问题,您可以:
DataFrame
您可以通过以下两种方式执行此操作:
这是将标量值转换为 DataFrame 的最简单方法:
import pandas as pd a = 2 b = 3 df2 = pd.DataFrame({'A': [a], 'B': [b]}) print(df2)
输出:
A B 0 2 3
或者,如果您想要更好地控制 DataFrame 结构,您可以传递索引:
df2 = pd.DataFrame({'A': a, 'B': b}, index=[0]) print(df2)
这两种方法都会给您一个单行 DataFrame,其中a和分别是和b列中的值。A``B
a
b
A``B