从Python数据框中的列/行中选择一项
我正在与AWS合作,有一份AWS地区及其相应的选择加入状态列表。这在一本名为《地区词典》的词典中:从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
{
'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”消息,并且由于某种原因没有返回区域名称。空数据帧列:[区域,选择加入状态]索引:[]抱歉-我在索引语法上犯了一个错误。我已经用更正更新了我的答案。