我在pandas数据框中有一个列,该列具有多个值,例如-1 -1 -1 -1 -1 -1 .........- 1在1000左右。我要转换的是-1与0。因此显示为0 0 0 0 0 0 .... 0000
df_img_attr_label = pd.read_csv(r'D:\DeepFashion\Category and Attribute Prediction\list_attr_img.txt',names = ['Image_Name'],header = None)
df_img_attr_label[['Image_Name', 'attribute_label']] = df_img_attr_label["Image_Name"].str.split(" ", 1, expand=True)
df_img_attr_label["attribute_label"] = df_img_attr_label["attribute_label"]
ret_rows = df_img_attr_label.loc[0:1000,:]
df_2 = ret_rows.replace([-1, 0])
我希望列值-1 -1 -1 -1 -1 -1 -1 ...为0 0 0 0 0 ......
答案 0 :(得分:0)
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.html
尝试一下:
df_2 = df_2.replace('-1', '0')
答案 1 :(得分:0)
您可以使用pandas
的{{1}}方法
Series.map
答案 2 :(得分:0)
可能类似于Yasir的建议,但没有引号
df_2 = df_2.replace(-1, 0)