首页 > 解决方案 > 在 pandas 中有带下标/索引的列

问题描述

假设我有一个文件中的 som 数据,其中一些列是“同类”,只有一些数学变量的不同下标,比如x

n   A   B   C   x[0]  x[1]  x[2]
0   1   2   3    4     5     6
1   2   3   4    5     6     7

有什么方法可以将它加载到 pandas 数据框中,df并以某种方式将三x列视为可索引的类似数组的实体(我是 pandas 的新手)?我相信这会很方便,因为我可以对 x 中包含的数据序列进行操作,例如sum(df.x).

亲切的问候。

编辑:

诚然,我原来的帖子不够清楚。我不仅对获得三列的总和感兴趣。那只是一个例子。我正在寻找一个普遍适用的抽象,我希望它内置在 pandas 中。

我希望通过一个实体的(子)索引访问多个列,例如df.x[0],这样我(或数据的任何其他用户)可以执行他/她想要的任何操作(sum/max/min/avg/标准偏差,你的名字)。如果您愿意,您可以将 x 视为与时间相关的测量的集合。

亲切的问候。

标签: pythonpandas

解决方案


考虑一下,您像这样定义数据框

df = pd.DataFrame([[1, 2, 3, 4, 5, 6], 
                   [2, 3, 4, 5, 6, 7]], columns=['A', 'B', 'C', 'x0', 'x1', 'x2'])

然后与

x = ['x0', 'x1', 'x2']

您使用以下表示法允许对x

>>> df[x].sum(axis=1)
0    15
1    18
dtype: int64

推荐阅读