问题描述
在 Python 中的 Panda DataFrames 中,通过列和索引替换值非常简单。
示例数据帧:
df = pd.DataFrame({'A': [1,2,3],'B': [200,300,400]})
A B
0 1 200
1 2 300
2 3 400
替换值非常简单:
df['A'][0] = 800
A B
0 800 200
1 2 300
2 3 400
如何在 Danfo DataFrame 中按列和索引替换值?
解决方法
请尝试:
let df_rep = df.replace({ "replace": 1,"with": 800,"in": ["A"] })
您可能已经注意到了,但为了以防万一,这里的 1 是值而不是索引。
官方文档
{替换:int、float、str。要替换的值。 与:整数,浮点数,str。要替换的新值。 在:数组。要替换的列名数组,如果未指定,则替换所有列。 }
https://danfo.jsdata.org/api-reference/dataframe/danfo.dataframe.replace
,此功能尚未实现。
每次要按列和索引替换值时,都必须重新创建 DataFrame。
一种简单的方法是使用显示值索引:
df.values[2][3] = 999
df = new dfd.DataFrame(df.values,{index: df.index,columns: df.columns})