![](/img/trans.png)
[英]Generate dataframe columns where each column is shift(-1) of previous column
[英]Substract the value of the previous column for each columns in a DataFrame
假设我有一个看起来像这样的 DataFrame
A B C
1 0 4 7
2 3 8 10
3 5 13 19
我想用 A 列的值减去 B 列的值,用 B 列的值减去 C 列的值,即 output:
A B C
1 0 4 3
2 3 5 2
3 5 8 6
执行此类操作的最简单方法是什么?
您可以使用diff
:
df.diff(axis=1).fillna(df)
Output:
A B C
1 0.0 4.0 3.0
2 3.0 5.0 2.0
3 5.0 8.0 6.0
在普通 numpy 中使用矩阵乘法:
import numpy as np
import pandas as pd
M = np.array([[0, 4, 7],
[3, 8, 10],
[5, 13, 19]])
X = np.array([[0, -1, 0],
[0, 0, -1],
[0, 0, 0]])
M + M @ X
# Output : array([[0, 4, 3],
# [3, 5, 2],
# [5, 8, 6]])
或与 pandas
# also works with panda data frames
df = pd.DataFrame(M)
df
df + df.dot(X)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.