我从字典中创建了一个数据帧,如下所示:
import pandas as pd
data = {'Name': 'Ford Motor', 'AssetType': 'Common Stock', 'Exchange': 'NYSE'}
records = []
statement = {}
for key, value in data.items():
statement = {}
statement[key] = value
records.append(statement)
df = pd.DataFrame(records)
如果我这样做,输出如下所示:
Name AssetType Exchange
0 Ford Motor NaN NaN
1 NaN Common Stock NaN
2 NaN NaN NYSE
我希望第一行的值和结果如下所示:
Name AssetType Exchange
0 Ford Common Stock NYSE
有很多方法可以将数据(dict、list、嵌套list等)转换为数据帧。Pandas还包括许多创建方法,其中一些方法会重叠,因此很难记住如何从数据创建dfs。以下是为您的数据执行此操作的几种方法:
df = pd.DataFrame([data])
df = pd.Series(data).to_frame().T
pd.DataFrame.from_dict(data, orient="index").T
pd.DataFrame.from_records(data, index=[0])
依我看,
from_dict
是最不直观的(我在第一次尝试时从来没有正确的参数)。我发现专注于一种施工方法比每次使用不同的施工方法更令人难忘;我使用pd.DataFrame(...)
和from_records(...)
最多创建数据帧时,只需将
data
放入列表[]
中即可:印刷品:
相关问题 更多 >
编程相关推荐