Python 如何使用用户输入选择行列并返回单元格值?

Python 如何使用用户输入选择行列并返回单元格值?,python,csv,pandas,input,lookup,Python,Csv,Pandas,Input,Lookup,我有一个从csv文件构造的熊猫数据框架 我要求用户输入两个值,用空格分隔 然后我尝试使用pandas.loc[,]返回该单元格值 如何将它们的输入与我的行列匹配,并只返回该单元格的原始值?Python中的不可能?到目前为止,我的程序在确定要查找哪个csv表以及如何将输入分配给变量方面运行良好。实际传递给图表查找的是无效的。下面是一些示例代码 import pandas as pd A_read = pd.read_csv('My.csv') A1 = pd.DataFrame(A_read)

我有一个从csv文件构造的熊猫数据框架

我要求用户输入两个值,用空格分隔

然后我尝试使用pandas.loc[,]返回该单元格值

如何将它们的输入与我的行列匹配,并只返回该单元格的原始值?Python中的不可能?到目前为止,我的程序在确定要查找哪个csv表以及如何将输入分配给变量方面运行良好。实际传递给图表查找的是无效的。下面是一些示例代码

import pandas as pd

A_read = pd.read_csv('My.csv')
A1 = pd.DataFrame(A_read)
A = A1.set_index("Years")

separator = ' '
user_input = raw_input("Enter two values: ").split(separator)
rank = user_input[0]
Years = int(user_input[1])

pay = A.loc[ , ] #problem area
我将输入的年份处理为一个整数,然后将其输入到一个排序表中,给它一个“超过0”或“超过5”等值。这个字符串与我索引中的术语相匹配,如这里的示例表所示。秩作为字符串输入,不做任何更改

Years    E-9        E-8
Over 0   40         80
Over 2   30         20
我写了很多只是为了澄清!只需寻找任何接收输入并将其与行/列匹配以返回单元格的解决方案

A

A = pd.DataFrame(
    np.random.randint(10, size=(10, 10)),
    list('abcdefghij'), list('ABCDEFGHIJ'))

   A  B  C  D  E  F  G  H  I  J
a  1  8  0  3  5  7  7  2  7  1
b  7  7  6  6  1  1  3  4  3  9
c  8  4  9  4  6  7  2  8  1  5
d  1  0  2  4  0  5  1  7  9  6
e  9  0  3  2  3  6  6  9  5  0
f  5  6  2  0  7  9  2  0  8  0
g  7  7  0  5  2  6  1  9  0  1
h  5  8  0  7  4  0  7  3  1  7
i  9  9  6  2  7  7  3  5  0  9
j  3  1  8  0  1  8  9  7  5  9
抓取用户输入。。。注意
i
j
的赋值。您进行了
拆分
,但仅获取拆分中的第一个值

i, j = input('>>>  ').split()
>>>  i C

A.loc[i, j]

6
A

A = pd.DataFrame(
    np.random.randint(10, size=(10, 10)),
    list('abcdefghij'), list('ABCDEFGHIJ'))

   A  B  C  D  E  F  G  H  I  J
a  1  8  0  3  5  7  7  2  7  1
b  7  7  6  6  1  1  3  4  3  9
c  8  4  9  4  6  7  2  8  1  5
d  1  0  2  4  0  5  1  7  9  6
e  9  0  3  2  3  6  6  9  5  0
f  5  6  2  0  7  9  2  0  8  0
g  7  7  0  5  2  6  1  9  0  1
h  5  8  0  7  4  0  7  3  1  7
i  9  9  6  2  7  7  3  5  0  9
j  3  1  8  0  1  8  9  7  5  9
抓取用户输入。。。注意
i
j
的赋值。您进行了
拆分
,但仅获取拆分中的第一个值

i, j = input('>>>  ').split()
>>>  i C

A.loc[i, j]

6