pandas - 将函数应用于列中的每个行序列
问题描述
我有一个这样的df:
xx
A 3
B 4
C 1
D 5
E 7
F 6
G 3
H 5
I 8
J 5
我想将 pct_change 函数应用于每 5 行的 XX 列:
生成以下输出:
xx
A NaN
B 0.333333
C -0.750000
D 4.000000
E 0.400000
F NaN
G -0.500000
H 0.666667
I 0.600000
J -0.375000
我怎么能做到这一点?
解决方案
np.arange
按长度创建df
并使用整数除法5
并将其传递给groupby
函数:
df = df.groupby(np.arange(len(df)) // 5).pct_change()
print (df)
xx
A NaN
B 0.333333
C -0.750000
D 4.000000
E 0.400000
F NaN
G -0.500000
H 0.666667
I 0.600000
J -0.375000
推荐阅读
- firebase - Firebase 规则:我们检测到您的安全规则存在以下问题
- javascript - Chai 没有使用 async/await 捕获抛出的错误
- javascript - 如何编写正则表达式以匹配相等的分隔符对?
- pip - 如何正确创建新环境 - 包括使用“pip install something”
- android-studio - 如何在 Android Studio 4.0 中更改缩进线颜色?
- sql - 在同一表的两列之间查找重复项
- java - 如何从代码中完全销毁活动?
- python - 将python库用于GCP时如何切换项目目标?
- c++ - c++ 异步键盘输入(标准方式)
- avro - Avro Schema Evolution with Enum – 反序列化崩溃