我有一个三维数据框,x和y与时间为三维。 这些数据是在不同时间拍摄的5组卫星图像。 x和y表示每个像素
x y time SIPI classif
7.620001 -77.849990 2018-04-07 1.011107 2.0
2018-10-14 1.023407 2.0
2018-12-28 0.045107 3.0
2020-01-10 0.351107 2.0
2018-06-29 0.351107 2.0
-77.849899 2018-04-07 1.010777 8.0
2018-10-14 0.510562 2.0
2018-12-28 1.410766 4.0
2020-01-10 1.010666 8.0
2018-06-29 2.057068 8.0
-77.849809 2018-04-07 0.986991 1.0
2018-10-14 0.986991 8.0
2018-12-28 0.986991 5.0
2020-01-10 0.984791 5.0
2018-06-29 0.986991 3.0
-77.849718 2018-04-07 0.975965 10.0
2018-10-14 0.964765 7.0
2018-12-28 0.975965 10.0
2020-01-10 0.975965 10.0
2018-06-29 0.975965 3.0
-77.849627 2018-04-07 1.957747 2.0
2018-10-14 0.132445 6.0
2018-12-28 0.589677 2.0
2020-01-10 1.982445 2.0
2018-06-29 3.334456 7.0
我需要对数据进行分组,作为新列,我需要“classif_rf”列中的值,这是5个数据集中最常见的列。这些值是介于1和10之间的整数。我想添加一个条件,只添加高于3的频率
x y classif
7.620001 -77.849990 2.0
-77.849899 8.0
-77.849809 Na
-77.849718 10.0
-77.849627 2.0
因此,我需要数据帧,其中每个像素有一个最高频率的值,当频率低于3时,应该有一个NA值
pandas.groupby函数可以这样做吗?我考虑过value_counts(),但我不确定如何在我的数据集中实现它
提前谢谢你
下面是一个笨拙的方法:
现在
df_modes.drop("classif_mode_freq", axis=1)
将返回相关问题 更多 >
编程相关推荐