Python 提取另一列中列出的熊猫中特定列名的值

Python 提取另一列中列出的熊猫中特定列名的值,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,标题不太清楚,但这里有一个例子。假设我有: person apple orange type Alice 11 23 apple Bob 14 20 orange 我想得到这个专栏 person new_col Alice 11 Bob 20 因此,我们得到列'apple'代表行'Alice','orange'代表行'Bob' 我想这是错误的,但那太慢了。有没有更快的方法可以做到这一点?使用: 如果只需要2列数据帧,请使用或数据帧

标题不太清楚,但这里有一个例子。假设我有:

person  apple  orange  type
Alice   11     23      apple
Bob     14     20      orange
我想得到这个专栏

person new_col
Alice  11
Bob    20
因此,我们得到列'apple'代表行'Alice','orange'代表行'Bob'

我想这是错误的,但那太慢了。有没有更快的方法可以做到这一点?

使用:

如果只需要2列数据帧,请使用或
数据帧
构造函数:

df1 = df[['person']].assign(new_col=df.lookup(df.index, df['type']))
print (df1)
  person  new_col
0  Alice       11
1    Bob       20

使用:

如果只需要2列数据帧,请使用或
数据帧
构造函数:

df1 = df[['person']].assign(new_col=df.lookup(df.index, df['type']))
print (df1)
  person  new_col
0  Alice       11
1    Bob       20

df1 = pd.DataFrame({
        'person':df['person'].values,
        'new_col':df.lookup(df.index, df['type'])},
         columns=['person','new_col'])
print (df1)
  person  new_col
0  Alice       11
1    Bob       20