首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用用户输入来选择行列和返回单元格的值?

如何使用用户输入来选择行列和返回单元格的值?
EN

Stack Overflow用户
提问于 2017-04-18 11:09:40
回答 1查看 1.9K关注 0票数 1

我有一个从csv文件构建的pandas数据帧。

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

然后,我尝试执行pandas.loc,以返回该单元格值。

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

代码语言:javascript
复制
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

我将年份输入到一个int中,然后将其输入到一个排序表中,给出'Over 0‘或'Over 5’等值。此字符串与我的索引中的术语匹配,如这里的示例表所示。排名是以字符串形式输入的,不做任何更改。

代码语言:javascript
复制
Years    E-9        E-8
Over 0   40         80
Over 2   30         20

为了清楚起见,我写了很多东西!只需寻找接受输入并将其与行/列匹配以返回单元格的任何解决方案。

EN

回答 1

Stack Overflow用户

发布于 2017-04-18 14:14:35

A成为

代码语言:javascript
复制
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

抓取用户输入...请注意对ij的赋值。您有一个split,但只获取了拆分中的第一个值

代码语言:javascript
复制
i, j = input('>>>  ').split()
>>>  i C

A.loc[i, j]

6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43462938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档