gpt4 book ai didi

python - 从 Pandas 中的多个数据框中绘制(并保存)特定单元格

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:22 25 4
gpt4 key购买 nike

例如,如果我有 3 个这样的数据框:

In [1]: df1 = pd.DataFrame({'A': ['32', '36', '40', '33'],
...: 'B': ['32', '34', '39', '35'],
...: 'C': ['34', '32', '35', '36'],
...: 'D': ['35', '39', '42', '40']},
...: index=[0, 1, 2, 3])
...:

In [2]: df2 = pd.DataFrame({'A': ['33', '36', '37', '40'],
...: 'B': ['42', '43', '46', '39'],
...: 'C': ['34', '36', '38', '40'],
...: 'D': ['32', '35', '34', '37']},
...: index=[0, 1, 2, 3])
...:

In [3]: df3 = pd.DataFrame({'A': ['38', '39', '40', '41'],
...: 'B': ['38', '37', '41', '40'],
...: 'C': ['36', '39', '42', '41'],
...: 'D': ['34', '39', '37', '39']},
...: index=[0, 1, 2, 3])

如果我想绘制这 3 个数据框中的特定单元格怎么办?例如,我想绘制这些数据框中第一行第一列的单元格,以查看趋势。使用 iloc 一个一个地访问它似乎很蹩脚,尤其是有更多的数据帧(实际上我有 33 个从 csv 导入的数据帧,每个有 600 列和 400 行)有什么方法比 iloc 更容易吗?

最佳答案

选项 1

针对您的问题,最通用的解决方案是将您的数据框包装到 pandas.Panel

pnl = pd.Panel({'df1': df1, 'df2': df2, 'df3': df3})[['df1', 'df2', 'df3']]

然后就可以访问想要的系列了

pnl.iloc[:, 0, 0]

df1 32
df2 33
df3 38
Name: A, dtype: object

选项 2

您也可以将数据框放入另一个数据框中

df = pd.concat([d.stack() for d in [df1, df2, df3]],
axis=1, keys=['df1', 'df2', 'df3'])

然后访问特定的数据

df.iloc[0, :]

df1 32
df2 33
df3 38
Name: (0, A), dtype: object

或者

df.to_panel().iloc[:, 0, 0]

df1 32
df2 33
df3 38
Name: A, dtype: object

选项 3

您可以只抓取 3 个项目并将其包装在 panda.Series

pd.Series([d.iloc[0, 0] for d in [df1, df2, df3]])

0 32
1 33
2 38
dtype: object

关于python - 从 Pandas 中的多个数据框中绘制(并保存)特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39340103/

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