我想在Pandas中模拟一个 *Excel公式 *,我已经尝试过了:
df = pd.DataFrame({'a': [3, 2, 1, 0], 'b': [5, 3, 2, 1]})
df['c'] = lambda x : df.a + df.b + 1 # Displays <function <lambda> ..> instead of the result
df['d'] = df.a + df.b + 1 # Static computation
df.a *= 2
df # Result of column c and d not updated :(
a b c d
0 6 5 <function <lambda> at 0x7f2354ddcca0> 9
1 4 3 <function <lambda> at 0x7f2354ddcca0> 6
2 2 2 <function <lambda> at 0x7f2354ddcca0> 4
3 0 1 <function <lambda> at 0x7f2354ddcca0> 2
我所期望的是:
df
a b c
0 6 5 12
1 4 3 8
2 2 2 5
3 0 1 2
df.a /= 2
a b c
0 3 5 9
1 2 3 6
2 1 2 4
3 0 1 2
在Pandas中是否可以动态计算列?
2条答案
按热度按时间dxxyhpgq1#
也许这段代码可以为您提供一个正确的方向:
fruv7luv2#
DataFrame中的 * column * 之间的React性似乎不太现实。我的cellopype包确实在 * DataFrame * 之间给予了类似Excel的React性。下面是我对您的问题的看法:
第一个
另请参阅我对this question的回应。