gpt4 book ai didi

python - 将 Pandas 面板转换为数据框

转载 作者:行者123 更新时间:2023-11-28 18:21:15 24 4
gpt4 key购买 nike

我有一个 pandas.Panel,我想用列创建一个 pandas.DataFrame标题来自一列,数据来自另一列,行数是面板中的项目数。

如果图表能帮助描述我正在寻找的东西......

我的面板看起来有点像下面这样:

      +---+---------+------------+------+
+---+---------+------------+------+ |
+---+---------+------------+------+ |-+
+---+---------+------------+------+ |-+ |
| | context | iterations | time |-+ |-+
+---+---------+------------+------+ |-+ |
| 0 | foo | 1 | 21 |-+ |-+
+---+---------+------------+------+ |-+ |
| 1 | bar | 2 | 37 |-+ |-+
+---+---------+------------+------+ |-+
| 2 | baz | 1 | 53 |-+
+---+---------+------------+------+

我想将面板转换为数据框:

  • 数据框列标题是“上下文”列
  • dataframe 值是“时间”列
  • 数据框中的行数是面板中的项目数

结果看起来像这样:

+---+-----+-----+-----+
| | foo | bar | baz |
+---+-----+-----+-----+
| 0 | 21 | 37 | 53 |
+---+-----+-----+-----+
| 1 | 36 | 42 | 76 |
+---+-----+-----+-----+
| 2 | 24 | 56 | 83 |
+---+-----+-----+-----+
| 3 | 17 | 32 | 45 |
+---+-----+-----+-----+

最佳答案

选项 1
pd.concat

pd.concat({i: d.set_index('context').time for i, d in pn.iteritems()}).unstack()

context foo bar baz
0 21 37 53
1 36 42 76
2 24 56 83
3 17 32 45

选项 2
pd.DataFrame

pd.DataFrame([d.set_index('context').time for i, d in pn.iteritems()], pn.items)

context foo bar baz
0 21 37 53
1 36 42 76
2 24 56 83
3 17 32 45

关于python - 将 Pandas 面板转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44935324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com