将一些数据帧值更改为 0
Change some dataframe values to 0
来自坐标列表的列表,例如:
coordinates = [((3,54), (6,23)...)((1,10)(2,98)]
我正在使用以下代码获取数据框:
all_coordinates = [item for img in coordinates for item in img]
c = Counter(all_coordinates)
max_x = max([item[0] for item in all_coordinates])
max_y = max([item[1] for item in all_coordinates])
coordinates_dict = dict()
for i in range(max_x + 1):
for j in range(max_y + 1):
coordinates_dict.update({(i,j): c[(i,j)]})
df = pd.DataFrame(coordinates_dict.items(), columns=['Coordinates','Value'])
pd.set_option("display.max_rows", 20, "display.max_columns", 20)
df[["x", "y"]] = pd.DataFrame(df.Coordinates.to_list())
这给了我一个像这样的数据框:
我想知道如何将所选坐标列表中的所有值变为 0:
以下列表中的所有坐标,在dataframe中转为0:
coords_0 = [(29, 131), (29, 132), (29, 133), (30, 129), (30, 130), (30, 133), (31, 127)...]
谢谢
df['Value'] = df.apply(lambda x: 0 if x['Coordinates'] in coords_0 else x['Value'], axis=1)
来自坐标列表的列表,例如:
coordinates = [((3,54), (6,23)...)((1,10)(2,98)]
我正在使用以下代码获取数据框:
all_coordinates = [item for img in coordinates for item in img]
c = Counter(all_coordinates)
max_x = max([item[0] for item in all_coordinates])
max_y = max([item[1] for item in all_coordinates])
coordinates_dict = dict()
for i in range(max_x + 1):
for j in range(max_y + 1):
coordinates_dict.update({(i,j): c[(i,j)]})
df = pd.DataFrame(coordinates_dict.items(), columns=['Coordinates','Value'])
pd.set_option("display.max_rows", 20, "display.max_columns", 20)
df[["x", "y"]] = pd.DataFrame(df.Coordinates.to_list())
这给了我一个像这样的数据框:
我想知道如何将所选坐标列表中的所有值变为 0:
以下列表中的所有坐标,在dataframe中转为0:
coords_0 = [(29, 131), (29, 132), (29, 133), (30, 129), (30, 130), (30, 133), (31, 127)...]
谢谢
df['Value'] = df.apply(lambda x: 0 if x['Coordinates'] in coords_0 else x['Value'], axis=1)