在處理數據的時候,很多時候會遇到批量替換的情況,如果一個一個去修改效率過低,也容易出錯。replace()是很好的方法。
1.基本結構:
df.replace(to_replace, value) 前面是需要替換的值,后面是替換后的值。
這樣會搜索整個DataFrame, 並將所有符合條件的元素全部替換。
進行上述操作之后,其實原DataFrame是並沒有改變的。改變的只是一個復制品。
2. 如果需要改變原數據,需要添加常用參數 inplace=True
這個參數在一般情況沒多大用處,但是如果只替換部分區域時,inplace參數就有用了。
在上面這個操作中,‘合計’這一列中的0,並沒有被替換。只有‘金額’這一列的0被替換,而且,替換后的結果不需要我們再和原數據進行合並操作,直接體現在原數據中。
只對某一列特定的值進行替換:
result['prediction'].replace([0,1,2,3,4,5,6,7,8],[870,870,880,898,1300,13117,13298,13690,13691],inplace=True)
BTW: 在pyspark 中的 replace() 函數
result.na.replace([0,1,2,3,4,5,6,7,8], [870,878,880,898,1300,13117,13298,13690,13691], 'prediction')
https://www.cnblogs.com/nshuai/articles/5762343.html