在dataframe中将dataframe列从文本更改为数字

2024-05-14 03:48:57 发布

您现在位置:Python中文网/ 问答频道 /正文

使用熊猫,我这里有一个数据框,它描述了一些关于臭氧的数据

ozone_data = pd.read_csv('https://www.dropbox.com/s/0s9ui4h90j7xaxg/Dataset_ozone.csv?dl=1', sep=';')

在这个数据集中,我有一个名为“pluie”的列。它描述了“秒”或“Pluie”

我想将该列的值从字符串“Sec”更改为数字2,从字符串“Pluie”更改为数字1

我不知道该怎么办,有人能帮我吗


Tags: csv数据字符串httpscomreaddatawww
2条回答

最简单的方法是创建一个映射字典,字符串值作为键,数字作为值。然后对相关列调用pd.replace(),并将字典作为参数传递

例:

map_dict = {"Sec": 2, "Pluie":1}
ozone_Data['pluie'].replace(map_dict, inplace=True)

最大的优点是,这允许您为任意数量的值创建映射

^{}与lambda一起使用:

ozone_data['pluie'] = ozone_data['pluie'].apply(lambda x: 1 if x == 'Pluie' else 2)

或使用^{}

df['pluie'] = np.where(df['pluie'] == 'Pluie', 1,2)

要达到同样的效果,没有更多的方法了

相关问题 更多 >