Pandas/Python检查中间的值,输出值形成另一列
我有以下数据帧和一个等于Pandas/Python检查中间的值,输出值形成另一列,python,pandas,dataframe,between,Python,Pandas,Dataframe,Between,我有以下数据帧和一个等于20的变量。我需要找到这个变量在col2中的位置(这里是10到50之间),并输出col1中的最小值,这里是2。另一个例子是变量等于51,col1的正确输出为3 我可以用if公式来做,但我正在为更大的数据集寻找更好的解决方案 d = {'col1': [1, 2, 3, 4, 5], 'col2': [0, 10, 50, 60, 70]} df = pd.DataFrame(data=d) 与一起使用,然后通过以下方式获取列col1的最后一个值: a=df.loc[df
20
的变量。我需要找到这个变量在col2中的位置(这里是10到50之间),并输出col1中的最小值,这里是2。另一个例子是变量等于51
,col1的正确输出为3
我可以用if公式来做,但我正在为更大的数据集寻找更好的解决方案
d = {'col1': [1, 2, 3, 4, 5], 'col2': [0, 10, 50, 60, 70]}
df = pd.DataFrame(data=d)
与一起使用,然后通过以下方式获取列col1的最后一个值:
a=df.loc[df['col2']
a = df.loc[df['col2'] <= 20, 'col1'].iat[-1]
print (a)
2
a = df.loc[df['col2'] <= 51, 'col1'].iat[-1]
print (a)
3
a = df.loc[df['col2'] <= 10, 'col1'].iat[-1]
print (a)
2