根据元组列表中的索引值从数据框中提取值

时间:2019-07-26 06:49:58

标签: python pandas

enter image description here我有一个数据框,我希望根据一个元组列表从中提取值,该元组包含需要从中提取值的索引。我也想提取相应的列和行标题。有关如何执行此操作的任何想法。

这里是一个例子:

数据框是显示的图像

元组列表:[(0,2),(1,0),(2,1)]

目标是使用第一个元组提取值40,并以元组的形式提取标题值(作业1,工人2)。并对接下来的两个元组执行相同的操作。

$start = '01/01/2009';
$end = '07/24/2019';

$start = DateTime::createFromFormat('d/m/Y', $start);
$end = DateTime::createFromFormat('d/m/Y', $end);

$gross = $this->CartOrders->find('all')->where([
     'placed >=' => $start->format('Y-m-d')
])->andWhere([
     'placed <=' => $end->format('Y-m-d')
])->all();

3 个答案:

答案 0 :(得分:2)

尝试一下:

import pandas as pd
df = pd.DataFrame({'a' : [1, 2], 'b' : [3, 4]})
ls = [(0, 1), (1, 0)]
for i in ls:
    print(df.iloc[i[0], i[1]])

答案 1 :(得分:1)

以下应该有效:

import pandas as pd
df=pd.DataFrame({'W1':[1,2],'W2':[3,4]},index=["J1","J2"])
tuples=[(0,1),(1,0)]
values=[]
fieldNames=[]
for t in tuples:
  values.append(df.iloc[t[0],t[1]])
  fieldNames.append((df.index[t[0]],df.columns[t[1]]))
print(values)
print(fieldNames)

答案 2 :(得分:0)

您可以使用.iloc []方法进行基于索引的选择。

如果您希望循环浏览所有项目;

for tuple in list_of_tuple:
    row, col = tuple[0], tuple[1]
    val = df.iloc[row, col]