要将 Pandas DataFrame 转换为字典,请使用 to_dict() 方法。默认情况下,此方法使用 DataFrame 的列名作为字典键,并为每列创建一个索引:数据对的字典。
df.to_dict()
获取以下列表每列的值而不是索引:数据对的字典,请使用 orient 参数。以下是可用的方向:
考虑以下内容DataFrame:
df = pd.DataFrame({'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]})
将此 DataFrame 转换为“ID”为的字典键和其他列的值作为列表,使用以下代码:
df.set_index('ID').T.to_dict('list')
这将返回以下字典:
{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}
这里是不同的例子方向:
dict:
df.to_dict('dict')
输出:
{'ID': {'p': 'p', 'q': 'q', 'r': 'r'}, 'A': {0: 1, 1: 4, 2: 4}, 'B': {0: 3, 1: 3, 2: 0}, 'C': {0: 2, 1: 2, 2: 9}}
l ist:
df.to_dict('list')
输出:
{'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]}
系列:
df.to_dict('series')
输出:
{'ID': 0 p 1 q 2 r Name: ID, dtype: object, 'A': 0 1 1 4 2 4 Name: A, dtype: int64, 'B': 0 3 1 3 2 0 Name: B, dtype: int64, 'C': 0 2 1 2 2 9 Name: C, dtype: int64}
分割:
df.to_dict('split')
输出:
{'columns': ['ID', 'A', 'B', 'C'], 'data': [['p', 1, 3, 2], ['q', 4, 3, 2], ['r', 4, 0, 9]], 'index': [0, 1, 2]}
记录 :
df.to_dict('records')
输出:
[{'ID': 'p', 'A': 1, 'B': 3, 'C': 2}, {'ID': 'q', 'A': 4, 'B': 3, 'C': 2}, {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}]
索引:
df.to_dict('index')
输出:
{0: {'ID': 'p', 'A': 1, 'B': 3, 'C': 2}, 1: {'ID': 'q', 'A': 4, 'B': 3, 'C': 2}, 2: {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}}
以上是如何将 Pandas DataFrame 转换为不同方向的字典?的详细内容。更多信息请关注PHP中文网其他相关文章!