【问题标题】:sum values in different rows and columns dataframe python不同行和列数据框python中的总和值
【发布时间】:2018-12-10 13:24:55
【问题描述】:

我的数据框

A B C D  
2 3 4 5  
1 4 5 6  
5 6 7 8  

如何添加不同行和不同列的值

  • A 列第 2 行和 B 列第 1 行
  • A 列第 3 行和 B 列第 2 行

同样适用于所有行

【问题讨论】:

  • 不确定这是否是您想要做的,但您可以使用 df.iloc[x,y] 访问 pandas 数据帧的任何单元格。您可能想阅读以下内容:pandas.pydata.org/pandas-docs/stable/indexing.html.
  • 能否为您的示例添加预期结果?你想创建一个新的数据框还是覆盖现有的数据框?

标签: python dataframe compare


【解决方案1】:

如果您只需要使用两列来执行此操作(并且我很理解您的问题),我认为您可以使用 shift 函数。

您的数据框(熊猫?)类似于:

d = {'A': [2, 1, 5], 'B': [3, 4, 6], 'C': [4, 5, 7], 'D':[5, 6, 8]}
df = pd.DataFrame(data=d)

因此,可以创建一个 B 列移位的新数据框:

df2 = df['B'].shift(1)

给出:

0    NaN
1    3.0
2    4.0
Name: B, dtype: float64

然后,将这个新数据与之前的 df 合并,例如,对这些值求和:

df = df.join(df2, rsuffix='shift')
df['out'] = df['A'] + df['Bshift']

最终输出在out列中:

    A   B   C   D   Bshift  out
0   2   3   4   5   NaN     NaN
1   1   4   5   6   3.0     4.0
2   5   6   7   8   4.0     9.0

但这只是一种直觉,我不确定你的问题!

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 2022-07-04
    • 2022-11-12
    • 1970-01-01
    • 2021-10-01
    相关资源
    最近更新 更多