将元组作为键、值作为数组的字典转换为 pandas 数据框
Converting dictionary with tuple as key and values as array to a pandas dataframe
我有以下词典:
dict = {(0, 6): 数组([[1, 2, 3, 0, 1 ,1]]),
(0, 9): 数组([[1, 2, 3, 0, 1, 1]])}
我想将其转换为 pandas 数据框,如下所示:
Key
v1
v2
v3
v4
v5
v6
(0,6)
1
2
3
0
1
1
(0,9)
1
2
3
0
1
1
我不想让键成为索引。
感谢您的帮助。
使用:
d = {(0, 6): np.array([[1, 2, 3, 0, 1 ,1]]),
(0, 9): np.array([[1, 2, 3, 0, 1, 1]])}
df = pd.DataFrame.from_dict({k: v[0] for k, v in d.items()}, orient='index')
df = df.rename_axis('Key').rename(columns=lambda x: f'v{x+1}').reset_index()
print (df)
Key v1 v2 v3 v4 v5 v6
0 (0, 6) 1 2 3 0 1 1
1 (0, 9) 1 2 3 0 1 1
或者:
df = pd.DataFrame(np.vstack(list(d.values()))).rename(columns=lambda x: f'v{x+1}')
df.insert(0,'Key',list(d.keys()))
print (df)
Key v1 v2 v3 v4 v5 v6
0 (0, 6) 1 2 3 0 1 1
1 (0, 9) 1 2 3 0 1 1
我有以下词典:
dict = {(0, 6): 数组([[1, 2, 3, 0, 1 ,1]]), (0, 9): 数组([[1, 2, 3, 0, 1, 1]])}
我想将其转换为 pandas 数据框,如下所示:
Key | v1 | v2 | v3 | v4 | v5 | v6 |
---|---|---|---|---|---|---|
(0,6) | 1 | 2 | 3 | 0 | 1 | 1 |
(0,9) | 1 | 2 | 3 | 0 | 1 | 1 |
我不想让键成为索引。
感谢您的帮助。
使用:
d = {(0, 6): np.array([[1, 2, 3, 0, 1 ,1]]),
(0, 9): np.array([[1, 2, 3, 0, 1, 1]])}
df = pd.DataFrame.from_dict({k: v[0] for k, v in d.items()}, orient='index')
df = df.rename_axis('Key').rename(columns=lambda x: f'v{x+1}').reset_index()
print (df)
Key v1 v2 v3 v4 v5 v6
0 (0, 6) 1 2 3 0 1 1
1 (0, 9) 1 2 3 0 1 1
或者:
df = pd.DataFrame(np.vstack(list(d.values()))).rename(columns=lambda x: f'v{x+1}')
df.insert(0,'Key',list(d.keys()))
print (df)
Key v1 v2 v3 v4 v5 v6
0 (0, 6) 1 2 3 0 1 1
1 (0, 9) 1 2 3 0 1 1