假设我们有一个Python数据帧:
In[1]: df = pd.DataFrame({'A': [1, 1, 2, 3, 5],
'B': [5, 6, 7, 8, 9]})
In[2]: print(df)
A B
0 1 5
1 1 6
2 2 7
3 3 8
4 5 9
我想更改符合特定条件的行。我知道这可以通过直接指派来完成:
In[3]: df[df.A==1] = pd.DataFrame([{'A': 0, 'B': 5},
{'A': 0, 'B': 6}])
In[4]: print(df)
A B
0 0 5
1 0 6
2 2 7
3 3 8
4 5 9
我的问题是:上述赋值是否有一个等价的解决方案,它将返回行更改后的新数据帧,即无状态解决方案?我正在寻找类似pandas.DataFrame.assign
的东西,但它作用于行而不是列。你知道吗
DataFrame.copy
DataFrame.mask
+fillna
相关问题 更多 >
编程相关推荐