是否有任何 pythonic 方法(无需迭代)在每个单元格值中应用数学函数,然后在 Pandas 中添加行总和?
Is there any pythonic way (without iteration) to apply a math function in each cell values and then add the row sum in Pandas?
例如,我有一个如下所示的数据框:
column1
column2
column3
column(n)
result
2.3
3.4
4.5
...
?
1
2
3
...
?
...
...
...
...
?
对于两行(在实际的 m 行中,因此需要针对任意行数的解决方案)我想要 result
列中每一行的标量值,它将给出产生一个应用以下公式的新列:
我想不出一个简洁的方法来对每个单元格进行 pandas without
迭代;我想在一行中完成(pythonic 方式)。非常感谢任何帮助,谢谢。
我认为这应该可行:
df['result'] = df.mul(np.log(df)).sum(axis=1) / np.sqrt(len(df.columns))
输出:
>>> df
column1 column2 column3 result
0 2.3 3.4 4.5 7.415992
1 1.0 2.0 3.0 2.703230
例如,我有一个如下所示的数据框:
column1 | column2 | column3 | column(n) | result |
---|---|---|---|---|
2.3 | 3.4 | 4.5 | ... | ? |
1 | 2 | 3 | ... | ? |
... | ... | ... | ... | ? |
对于两行(在实际的 m 行中,因此需要针对任意行数的解决方案)我想要 result
列中每一行的标量值,它将给出产生一个应用以下公式的新列:
我想不出一个简洁的方法来对每个单元格进行 pandas without
迭代;我想在一行中完成(pythonic 方式)。非常感谢任何帮助,谢谢。
我认为这应该可行:
df['result'] = df.mul(np.log(df)).sum(axis=1) / np.sqrt(len(df.columns))
输出:
>>> df
column1 column2 column3 result
0 2.3 3.4 4.5 7.415992
1 1.0 2.0 3.0 2.703230