我正在尝试替换嘈杂的值(','),以将数据框列转换为数字列。当str.replace用nan覆盖不包含任何逗号的所有值时,会发生问题。
说明问题:
import pandas as pd
data = {
'transaction_number': [1344,'1,345',1346,347'],'date': ['2018-12-01 14:03:38','2018-12-01 12:38:12','2018-12-04 13:19:46',' 2018-12-04 12:23:09']
}
df = pd.DataFrame(data)
print(df)
输出:
transaction_number date
0 1344 2018-12-01 14:03:38
1 1,345 2018-12-01 12:38:12
2 1346 2018-12-04 13:19:46
3 1,347 2018-12-04 12:23:09
我尝试过的第一件事:
df.transaction_number = df.transaction_number.replace(',','')
#i tried this equivalet too:
df.transaction_number.replace(','',inplace = True)
他们都不对数据进行任何转换(也就是说,他们什么也不做)。如果有人能告诉我为什么我会如此感激。
最后我尝试了(str方法):
df.transaction_number = df.transaction_number.str.replace(','')
并返回:
transaction_number date
0 NaN 2018-12-01 14:03:38
1 1345 2018-12-01 12:38:12
2 NaN 2018-12-04 13:19:46
3 1347 2018-12-04 12:23:09
我不知道这是什么原因,为什么发生,我想要的结果是:
transaction_number date
0 1344 2018-12-01 14:03:38
1 1345 2018-12-01 12:38:12
2 1346 2018-12-04 13:19:46
3 1347 2018-12-04 12:23:09
请帮助并感谢您的阅读!