1
只需要一点帮助即可从数据框中返回一些值。熊猫返回有条件的值
我有一个数据框(称为DF1)与一些值:
ID X Y Distance Date
1 1 2 2.2 01/01/2000
2 2 3 1.8 02/02/2001
3 3 4 1.2 03/03/2002
4 4 5 2.7 04/04/2003
5 5 6 3.8 05/05/2004
目前我有这将创建一个新列码 - DF1 [ '在2K'] - 返回true如果距离在2公里以内。例如,这将是这样的:
df1['Within 2k'] = df1['distance'] <= 2
print("df1")
ID X Y Distance Date Within 2k
1 1 2 2.2 01/01/2000 False
2 2 3 1.8 02/02/2001 True
3 3 4 1.2 03/03/2002 True
4 4 5 2.7 04/04/2003 False
5 5 6 3.8 05/05/2004 False
我也有代码,更改ID &距离“空”如果他们不是2公里内。举例来说,这看起来像:
我的代码的目的是为了返回第一条记录(按时间顺序),其中的距离是2公里内。目前我的代码返回Date值最小的值,但是包含Null值。
我此刻的代码看起来有点像这样:
Site2km = df1.loc[df1['Date'].idxmin(),'ID']
Dist2km = df1.loc[df1['Date'].idxmin(),'Distance']
return pd.Series([Site2km, Dist2km])
我需要一些代码,会:
1)返回第一个ID &距离,其中距离小于2
2)如果表中的每个值都在距离2km以外,则返回字符串“Null”作为ID &距离。
如果df1中的每个值超出距离,我该怎么办? – christaylor
@ CTaylor19,如果你有2km以内的行,你想要的输出格式是什么? – MaxU
只是像“空”或什么,当我来操纵数据进一步容易被注意到 – christaylor