将某些数据框值更改为0

时间:2020-11-01 18:15:05

标签: python pandas list dataframe coordinates

来自坐标列表,例如:

GROUP BY DATE_FORMAT(`date` - INTERVAL 1 DAY, '%y%m')

我正在使用以下代码获取数据框:

coordinates = [((3,54), (6,23)...)((1,10)(2,98)]

这给了我一个像这样的数据框:

Dataframe

我想知道如何将所选的coordiantes列表中的所有值都设为0:

以下列表中的所有坐标,将数据框转到0:

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())

谢谢

1 个答案:

答案 0 :(得分:1)

df['Value'] = df.apply(lambda x: 0 if x['Coordinates'] in coords_0 else x['Value'], axis=1)