python - 如何从基于行的字典列表创建 Pandas DataFrame
问题描述
我有一个这样的数据结构:
data = [{
"name": "leopard",
"character": "mean",
"skills": ["sprinting", "hiding"],
"pattern": "striped",
},
{
"name": "antilope",
"character": "good",
"skills": ["running"],
},
.
.
.
]
字典中的每个键都有整数、字符串或 字符串列表类型的值(并非所有键都存在于所有字典中),每个字典代表表中的一行;所有行都作为字典列表给出。
如何轻松将其导入 Pandas?我试过
df = pd.DataFrame.from_records(data)
但在这里我得到一个“ValueError:数组必须都是相同的长度”错误。
解决方案
构造DataFrame
函数将基于行的数组(在其他结构中)作为数据输入。因此,以下工作:
data = [{
"name": "leopard",
"character": "mean",
"skills": ["sprinting", "hiding"],
"pattern": "striped",
},
{
"name": "antilope",
"character": "good",
"skills": ["running"],
}]
df = pd.DataFrame(data)
print(df)
输出:
character name pattern skills
0 mean leopard striped [sprinting, hiding]
1 good antilope NaN [running]
推荐阅读
- android-studio - 发布请求导致 android.volley.NoConnectionError
- microstream - 微流是否已经支持 JDK 15 - 记录问题
- php - 如何根据下面给出的类别示例显示数据库中的数据
- python - 如何获取每个用户的未读消息?
- react-native - 无法在我的屏幕的 Appbar 上叠加图像。(React-Native, react-native-paper)
- shodan - 在 Shodan 中搜索版本范围
- java - 我收到错误“线程“主”java.lang.ArrayIndexOutOfBoundsException: 2 at com.company.Main.main(Main.java:21) 中的异常”
- javascript - 带有 Firebase 通知的 Flutter Web - subscribeToTopic
- php - Laravel - 从空值创建默认对象
- python - 在 QLineEdit 中接受一个用户输入后,如何获得新的用户输入?