就地应用于满足条件的熊猫数据框的列

z

考虑以下熊猫数据框:

df = pd.DataFrame({'t': [1,2,3], 'x1': [4,5,6], 'x2': [7,8,9]} )

>>> print(df)
t  x1  x2
0  1   4   7
1  2   5   8
2  3   6   9

我想对那些名称包含字符“ x”的列应用一个函数(例如乘以2)

这可以通过以下方式完成:

df.filter(regex='x').apply(lambda c: 2*c)

但不到位。我的解决方案是:

tmp = df.filter(regex='x')
tmp = tmp.apply(lambda c: 2*c)
tmp['t'] = df['t']
df = tmp

这就增加了更改列顺序的问题。有没有更好的办法?

最大容量

IIUC您可以执行以下操作:

In [239]: df.apply(lambda x: x*2 if 'x' in x.name else x)
Out[239]:
   t  x1  x2
0  1   8  14
1  2  10  16
2  3  12  18

更新:

In [258]: df.apply(lambda x: x*2 if 'x' in x.name else x) \
            .rename(columns=lambda x: 'ytext_{}_moretext'.format(x[-1]) if 'x' in x else x)
Out[258]:
   t  ytext_1_moretext  ytext_2_moretext
0  1                 8                14
1  2                10                16
2  3                12                18

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将计算应用于满足条件的数据框

在NaN中将条件COUNTIF应用于熊猫数据框

将条件条件应用于数据框列

将功能应用于熊猫数据框的列

将函数应用于数据框列熊猫

熊猫数据框将功能应用于整个列

条件If语句应用于数据框的多列

将条件应用于列列表的数据框过滤

如何将条件颜色样式应用于多索引熊猫数据框中的列

应用于数据框的条件 If 语句

将多个条件groupby + sort + sum应用于熊猫数据框行

如何将具有多种条件的函数应用于熊猫数据框?

如何在熊猫数据框中将不同的条件应用于不同月份?

将字符串评估为条件并应用于熊猫数据框

熊猫:将了解列类型的函数应用于数据框的每一列

大熊猫应用于数据框列以返回带有后缀的多个列

将方法应用于熊猫数据框中的一些选定列

熊猫-将函数应用于具有来自不同列的多个参数的数据框

如何将Lambda函数正确应用于熊猫数据框列

无法将函数应用于熊猫数据框中的选定列

将功能应用于熊猫数据框中的特定选定列

巴特沃斯过滤器应用于熊猫数据框的一列

如何将自定义函数应用于熊猫数据框的2列?

在引用列时将函数按行应用于熊猫数据框

熊猫数据框应用于日期时间列:不起作用

将功能应用于熊猫数据框的第二列

如何将功能应用于GROUPWISELY数据框的所有列?(在python熊猫中)

将自定义函数应用于熊猫数据框中的每个列组合

熊猫数据框将计算应用于选定的行