Python 使用列名和行名作为输入访问数据帧的单元格

Python 使用列名和行名作为输入访问数据帧的单元格,python,pandas,dataframe,Python,Pandas,Dataframe,我想从用户那里输入列名和行名,并将它们的交集打印为输出。 使用的Python代码: 这里是一个数据帧 Uid=input("Enter user id") Iid=input("Enter item id:") print(rm.loc[Uid][Iid]) 这里Userid存储在列中,Itemid存储在行中 正在使用的示例数据帧: 用户ID 132560 132561 132564 132572 132583 132584\ 0 U1001 1.111111 1.111111 1.1111

我想从用户那里输入列名和行名,并将它们的交集打印为输出。 使用的Python代码: 这里是一个数据帧

Uid=input("Enter user id")
Iid=input("Enter item id:")
print(rm.loc[Uid][Iid]) 
这里Userid存储在列中,Itemid存储在行中

正在使用的示例数据帧:

用户ID 132560 132561 132564 132572 132583 132584\ 0 U1001 1.111111 1.111111 1.111111 1.111111 1.111111 1.111111 1.111111
1 U1002 1.400000 1.400000 1.400000 1.400000 1.400000 1.400000 1.400000
2 U1003 1.615385 1.615385 1.615385 1.615385 1.615385 1.615385 1.615385
3 U1004 1.875000 1.875000 1.875000 1.875000 1.875000 1.875000 1.875000
4 U1005 1.333333 1.333333 1.333333 1.333333333 1.333333 1.333333

 132594    132608    132609    ...       135081    135082    135085  \
 135086    135088    135104    135106    135108    135109      mean  
0 1.111111 1.111111 1.111111。。。1.111111 1.111111 0.000000
1 1.400000 1.400000 1.400000 ... 1.400000 1.400000 1.000000
2 1.615385 1.615385 1.615385 ... 1.615385 1.615385 1.615385
3 1.875000 1.875000 1.875000 ... 1.875000 1.875000 1.875000
4 1.333333 1.333333 1.333333 ... 1.333333 1.333333 1.333333

 132594    132608    132609    ...       135081    135082    135085  \
 135086    135088    135104    135106    135108    135109      mean  
0 1.111111 1.111111 1.111111 1.111111 1.111111 1.111111 1.111111 1.111111
1 1.400000 1.400000 1.400000 1.000000 1.400000 1.400000 1.400000 1.400000
2 1.615385 1.615385 1.615385 1.615385 1.615385 1.615385 1.615385 1.615385
3 1.875000 1.875000 1.875000 2.000000 1.875000 1.875000 1.875000
4 1.333333 1.333333 1.333333 1.333333 1.333333 1.333333 1

我甚至试过用它 rm.loc[Uid,Iid]

但是,这给了我一个错误,即给定的userid实际上不存在。
请帮帮我(

类似于?
rm.loc[:,'Uid'].loc[Iid]
您的用户id和项目id是字符串还是整数?如果它们是整数,您必须首先将Uid和Iid转换为int,因为输入返回字符串,但我的用户id必须是字符串..Dataframe.loc[]不要用字符串,我的意思是作为列和行标签。它必须是整数吗?如果你发布你的df.head(),它会让你更清楚地理解确切的问题。我已经把它添加到问题中,类似于?
rm.loc[:,'Uid'].loc[Iid]
您的用户id和项目id是字符串还是整数?如果它们是整数,您必须首先将Uid和Iid转换为int,因为输入返回stringBut,我的用户id必须是字符串。Dataframe.loc[]是否不接受字符串,我的意思是列和行标签。它必须是整数吗?如果您发布df.head(),这将使我们更清楚地理解确切的问题。我把它添加到问题中