【发布时间】:2021-07-14 21:26:33
【问题描述】:
在 pandas 数据框中,我想创建一个新列来计算我们当前行之前第 4、第 8 和第 12 行的列值的平均值。
如下表所示,对于第13行:
现有列中的值,即第 13 行之前 4 行(第 9 行)= 4
现有列中的值,即第 13 行之前的 8 行(第 5 行)= 6
现有列中的值,即第 13 行(第 1 行)前 12 行 = 2
4,6,2 的平均值为 4。因此 New Column = 4 在第 13 行,对于 1-12 之间的其余行,New Column = Nan
我的 df 中有更多行,但我在此处仅添加了前 13 行以进行说明。
| Row number | Existing column | New column |
|---|---|---|
| 1 | 2 | NaN |
| 2 | 4 | NaN |
| 3 | 3 | NaN |
| 4 | 1 | NaN |
| 5 | 6 | NaN |
| 6 | 4 | NaN |
| 7 | 8 | NaN |
| 8 | 2 | NaN |
| 9 | 4 | NaN |
| 10 | 9 | NaN |
| 11 | 2 | NaN |
| 12 | 4 | NaN |
| 13 | 3 | 3 |
【问题讨论】:
-
我的回答需要任何澄清吗?如果需要任何微调以满足您的要求,请告诉我。
-
谢谢SeaBean!这完全符合我的要求。除了平均值之外,我如何调整这种方法以获得相同值的中位数?
标签: python pandas dataframe numpy indexing