我有一个与此类似的格式的数据框:
+--------+--------+----------+------+------+------+------+
| | | | | day1 | day2 | day3 |
+--------+--------+----------+------+------+------+------+
| id_one | id_two | id_three | date | | | |
| 18273 | 50 | 1 | 3 | 9 | 11 | 3 |
| | | | 4 | 26 | 27 | 68 |
| | | | 5 | 92 | 25 | 4 |
| | | | 6 | 60 | 72 | 83 |
| | 60 | 2 | 5 | 69 | 93 | 84 |
| | | | 6 | 69 | 30 | 12 |
| | | | 7 | 65 | 65 | 59 |
| | | | 8 | 57 | 88 | 59 |
| | 70 | 3 | 5 | 22 | 95 | 7 |
| | | | 6 | 40 | 24 | 20 |
| | | | 7 | 73 | 81 | 57 |
| | | | 8 | 43 | 8 | 66 |
+--------+--------+----------+------+------+------+------+
我正在尝试创建包含id_one
,id_two
的元组以及每个分组包含的值。
为了测试这个,我只是尝试打印这样的ID和值:
for id_two, data in df.head(100).groupby(level='id_two'):
print id_two, data.values.ravel()
它为我提供了id_two
和完全符合它的数据。
当我尝试合并id_one
时,我遇到了问题。我试过这个,但遇到了错误ValueError: need more than 2 values to unpack
for id_one, id_two, data in df.head(100).groupby(level='id_two'):
print id_one, id_two, data.values.ravel()
如何打印id_one
,id_two
和数据?
答案 0 :(得分:0)
您可以将列表列表传递到level
参数:
df.head.groupby(level=['id_one', 'id_two'])