从Python数据框中的列/行中选择一项

从Python数据框中的列/行中选择一项,python,pandas,Python,Pandas,我正在与AWS合作,有一份AWS地区及其相应的选择加入状态列表。这在一本名为《地区词典》的词典中: { 'eu-north-1': 'opt-in-not-required', 'ap-south-1': 'opt-in-not-required', 'eu-west-3': 'opt-in-not-required', 'eu-west-2': 'opt-in-not-required', 'eu-west-1': 'opt-in-not-require

我正在与AWS合作,有一份AWS地区及其相应的选择加入状态列表。这在一本名为《地区词典》的词典中:

{
    'eu-north-1': 'opt-in-not-required',
    'ap-south-1': 'opt-in-not-required',
    'eu-west-3': 'opt-in-not-required',
    'eu-west-2': 'opt-in-not-required',
    'eu-west-1': 'opt-in-not-required',
    'ap-northeast-2': 'opt-in-not-required',
    'ap-northeast-1': 'opt-in-not-required',
    'sa-east-1': 'opt-in-not-required',
    'ca-central-1': 'opt-in-not-required',
    'ap-southeast-1': 'opt-in-not-required',
    'ap-southeast-2': 'opt-in-not-required',
    'eu-central-1': 'opt-in-not-required',
    'us-east-1': 'opt-in-not-required',
    'us-east-2': 'opt-in-not-required',
    'us-west-1': 'opt-in-not-required',
    'us-west-2': 'opt-in-not-required',
}
我使用熊猫数据框显示数据:

dataframe = pd.DataFrame(region_dict.items(), columns = ['Region', 'Opt-in Status'])
dataframe.index += 1
print(dataframe)


            Region        Opt-in Status
1       eu-north-1  opt-in-not-required
2       ap-south-1  opt-in-not-required
3        eu-west-3  opt-in-not-required
4        eu-west-2  opt-in-not-required
5        eu-west-1  opt-in-not-required
6   ap-northeast-2  opt-in-not-required
7   ap-northeast-1  opt-in-not-required
8        sa-east-1  opt-in-not-required
9     ca-central-1  opt-in-not-required
10  ap-southeast-1  opt-in-not-required
11  ap-southeast-2  opt-in-not-required
12    eu-central-1  opt-in-not-required
13       us-east-1  opt-in-not-required
14       us-east-2  opt-in-not-required
15       us-west-1  opt-in-not-required
16       us-west-2  opt-in-not-required
我想问用户他想使用哪个区域:

region = input("Enter the number of the region to use: ")

一旦我得到整数,我如何通过字典找出整数输入响应的区域?这里是初学者程序员,所以我想和你们联系:)

假设区域的数量对应于数据帧中的索引,您可以使用。要获取整行,可以使用

dataframe.iloc[region]
如果您只需要第一列(即区域名称),则可以使用

dataframe.iloc[region, 0]

假设区域的编号对应于数据帧中的索引,则可以使用。要获取整行,可以使用

dataframe.iloc[region]
如果您只需要第一列(即区域名称),则可以使用

dataframe.iloc[region, 0]

您可以使用
.loc
功能访问行

dataframe.loc[int(region)]
在某些情况下,您需要使用
iloc

loc
功能允许您按索引(标签)访问行。
iloc
功能允许您按位置访问行。
您可以阅读更多关于不同的(示例)

您可以使用
.loc
功能访问一行

dataframe.loc[int(region)]
在某些情况下,您需要使用
iloc

loc
功能允许您按索引(标签)访问行。
iloc
功能允许您按位置访问行。 您可以阅读更多关于不同的内容(附示例)

我想这应该是你想要的。但问题是有多个区域具有相同的结束编号

如果需要所有区域,可以执行以下操作:

li = []
for x in dataframe['Region']:
    if(x.split('-')[-1] == input:
    li.append(x)
print(li)
我想这应该是你想要的。但问题是有多个区域具有相同的结束编号

如果需要所有区域,可以执行以下操作:

li = []
for x in dataframe['Region']:
    if(x.split('-')[-1] == input:
    li.append(x)
print(li)

谢谢用户选择的编号应在索引编号处获取区域名称(最左列中的编号)-(us-east-1、us-west-2等)。我尝试了
dataframe.iloc[region:0]
,其中region是索引号(来自用户),但我收到了一条“Empty dataframe”消息,并且由于某种原因没有返回区域名称。空数据帧列:[区域,选择加入状态]索引:[]抱歉-我在索引语法上犯了一个错误。我已经用更正更新了我的答案。谢谢。用户选择的编号应在索引编号处获取区域名称(最左列中的编号)-(us-east-1、us-west-2等)。我尝试了
dataframe.iloc[region:0]
,其中region是索引号(来自用户),但我收到了一条“Empty dataframe”消息,并且由于某种原因没有返回区域名称。空数据帧列:[区域,选择加入状态]索引:[]抱歉-我在索引语法上犯了一个错误。我已经用更正更新了我的答案。