替换panda中时间戳数据值时出现奇怪错误



我正在尝试执行一个简单的操作,用其他值替换数据帧中的某些值。从本质上讲,日期时间变量是字符串格式的,必须转换为日期时间格式。但变量中存在拼写错误,例如3014而不是2014,这导致日期时间格式转换中断。

它应该是一个快速修复来替换所有";3014";用";2014";但每当我尝试使用replace()运行代码时,我最终所做的就是擦除整列数据。下面是我正在使用的坏代码。

df['Date_Time'].replace(['3014', "2914", '2081'], ['2014', "2014", '2018'], inplace=True)

我也尝试过使用df.loc[]来达到同样的效果,但没有成功。此外,这个替代方案似乎不容易让我传递要替换的值列表。相反,我必须为每个需要替换的值写一行代码,这充其量是乏味的。以下是我使用.loc:的尝试

df.loc[(df['Date_Time_Arrest'] == '3014'), 'Date_Time_Arrest'] = '2014'

是否有其他方法可以快速替换数据帧中的多个值?即使我确保列是字符串格式的,由于某种原因,我仍然无法在不擦除整列数据的情况下替换值。

mapping = dict(zip(['3014', "2914", '2081'], ['2014', "2014", '2018'])
df['Date_Time'] = df['Date_Time'].map(mapping)

注意:避免使用inplacehttps://stackoverflow.com/a/59242208/11472761

最新更新