Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对于具有排序、数字索引和列的数据帧,返回与传递的给定值最接近的索引值和列名的元组_Python_Pandas_Dataframe_Slice - Fatal编程技术网

Python 对于具有排序、数字索引和列的数据帧,返回与传递的给定值最接近的索引值和列名的元组

Python 对于具有排序、数字索引和列的数据帧,返回与传递的给定值最接近的索引值和列名的元组,python,pandas,dataframe,slice,Python,Pandas,Dataframe,Slice,我正在使用一个具有排序数字索引和列的数据帧: 6 9 15 22 3 5 2 1 7 5 0 2 9 1 8 7 3 1 1 给定索引和列名的一些值,例如(6,12),我想获得原始数据帧的切片: 9 15 5 2 9 8 3 1 或者索引值,因此对于(6,12)的相同示例,结果将是: (5, 9), (8, 15) 如果输入与索引或列名匹配,则应调整

我正在使用一个具有排序数字索引和列的数据帧:

    6    9    15    22
3   5    2     1     7
5   0    2     9     1
8   7    3     1     1
给定索引和列名的一些值,例如(6,12),我想获得原始数据帧的切片:

    9    15
5   2     9
8   3     1
或者索引值,因此对于(6,12)的相同示例,结果将是:

(5, 9), (8, 15)
如果输入与索引或列名匹配,则应调整返回片,例如(8,12),返回片应为:

    9    15
8   3     1
    9
8   3 
可在索引结果中解释为:

(8, 9), (8, 15)
(8, 9), (8, 9)
在索引和列名匹配的最佳情况下,例如(8,9),它应该是:

    9    15
8   3     1
    9
8   3 
可在指数结果(一致性)中解释为:

(8, 9), (8, 15)
(8, 9), (8, 9)
使用稍加修改的:

def获取最接近的对(i、c、t):
return[(i[i=t[1]].min())]
打印(获取最近的一对(df.index,df.columns,(6,12)))
[(5, 9), (8, 15)]
打印(获取最近的一对(df.index,df.columns,(8,12)))
[(8, 9), (8, 15)]
打印(获取最近的一对(df.index,df.columns,(8,9)))
[(8, 9), (8, 9)]

这里的切片规则是什么?我理解在我们的示例(6,12)中输入是(索引,列)->,但它意味着什么?它的索引和列应大于或…?如果
(6,15)
,会发生什么情况?或
(8,12)
?规则是获取与给定值最接近的索引和列名对。谢谢你的好意,我已经更新了描述以减少歧义。事实证明,我的列名已经被读取为int,所以不需要
c=c.str.strip(“”).astype(int)
,这是我的错误。很好!