gpt4 book ai didi

python - 将值分配给由正则表达式获得的一组列

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:08 25 4
gpt4 key购买 nike

我有一个相当大的数据框,其中包含数百个功能(列),我喜欢使用列名称上的过滤方法来访问它的子集:

X = df.filter(regex='d2v_*')

这效果很好,但现在我正在尝试通过 X 的转换来更改 df 这个特定子集的值,例如 X - X .mean(axis=0).

我很想使用基于列名称的掩码,但也许有更好的解决方案?

最佳答案

您可以执行类似的操作:

In [72]: df
Out[72]:
a b d2v_1 d2v_2 d2v_3 x
0 97 19 53 2 29 19
1 74 23 8 80 22 76
2 27 41 72 76 48 62
3 6 90 71 53 7 87
4 21 61 14 64 17 19

In [75]: cols = df.columns[df.columns.str.contains(r'^d2v_')]

In [76]: cols
Out[76]: Index(['d2v_1', 'd2v_2', 'd2v_3'], dtype='object')

In [77]: df.loc[:, cols] -= df.loc[:, cols].mean()

In [78]: df
Out[78]:
a b d2v_1 d2v_2 d2v_3 x
0 97 19 9.4 -53.0 4.4 19
1 74 23 -35.6 25.0 -2.6 76
2 27 41 28.4 21.0 23.4 62
3 6 90 27.4 -2.0 -17.6 87
4 21 61 -29.6 9.0 -7.6 19

关于python - 将值分配给由正则表达式获得的一组列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40392775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com