2024-04-26 14:35:28 发布
网友
这也许是个简单的问题,但我不知道怎么做。假设我有两个变量,如下所示。
a = 2 b = 3
我想用这个构造一个数据帧:
df2 = pd.DataFrame({'A':a,'B':b})
这将生成错误:
ValueError: If using all scalar values, you must pass an index
我也试过:
df2 = (pd.DataFrame({'a':a,'b':b})).reset_index()
这会给出相同的错误消息。
您还可以使用pd.DataFrame.from_records,这在您手头有字典时更方便:
pd.DataFrame.from_records
df = pd.DataFrame.from_records([{ 'A':a,'B':b }])
如果需要,还可以通过以下方式设置索引:
df = pd.DataFrame.from_records([{ 'A':a,'B':b }], index='A')
你需要先创建一个熊猫系列。第二步是将pandas系列转换为pandas数据帧。
import pandas as pd data = {'a': 1, 'b': 2} pd.Series(data).to_frame()
您甚至可以提供列名。
pd.Series(data).to_frame('ColumnName')
错误消息说,如果要传递标量值,则必须传递索引。因此,不能对列使用标量值,例如使用列表:
>>> df = pd.DataFrame({'A': [a], 'B': [b]}) >>> df A B 0 2 3
或者使用标量值并传递索引:
>>> df = pd.DataFrame({'A': a, 'B': b}, index=[0]) >>> df A B 0 2 3
您还可以使用
pd.DataFrame.from_records
,这在您手头有字典时更方便:如果需要,还可以通过以下方式设置索引:
你需要先创建一个熊猫系列。第二步是将pandas系列转换为pandas数据帧。
您甚至可以提供列名。
错误消息说,如果要传递标量值,则必须传递索引。因此,不能对列使用标量值,例如使用列表:
或者使用标量值并传递索引:
相关问题 更多 >
编程相关推荐