[英]Equivalent of Excel index match in Python pandas
I could have used index match if it was excel. 我可以使用索引匹配,如果它是excel。 I have a data frame df = pd.DataFrame(np.random.randn(200,5),columns = ['apple','pear','orange','mango','banana']) 我有一个数据框df = pd.DataFrame(np.random.randn(200,5),columns = ['apple','pear','orange','mango','banana'])
apple pear orange mango banana
0 -1.162567 0.488261 1.716845 -1.375144 -0.510948
1 -0.344498 -1.096802 -0.544039 -0.106573 -0.316679
2 0.097983 -0.313277 0.572100 -0.176696 -0.574828
3 -1.300936 -2.749289 -0.065648 1.072607 2.099388
4 0.956781 -1.036766 0.794087 1.962683 -2.087505
5 -2.619787 1.024262 1.025925 -0.763013 0.942017
...
I also have a list made of 200 items :['apple','orange','mango',mango','pear'...] How to I iterate over rows in df and get values based on the column names in the list : Desired output: 我还有一个由200个项目组成的列表:['apple','orange','mango',mango','pear'...]如何迭代df中的行并根据列名称获取值清单:所需的输出:
values
0 -1.162567
1 -0.544039
2 -0.176696
3 1.072607
4 -1.036766
...
Use lookup
, but need list with same length as df and all values of list
have to be in columns names: 使用lookup
,但需要与df长度相同的list
, list
所有值必须是列名:
L = ['apple','orange','mango','mango','pear', 'banana']
df['values'] = df.lookup(df.index, L)
print (df)
apple pear orange mango banana values
0 -1.162567 0.488261 1.716845 -1.375144 -0.510948 -1.162567
1 -0.344498 -1.096802 -0.544039 -0.106573 -0.316679 -0.544039
2 0.097983 -0.313277 0.572100 -0.176696 -0.574828 -0.176696
3 -1.300936 -2.749289 -0.065648 1.072607 2.099388 1.072607
4 0.956781 -1.036766 0.794087 1.962683 -2.087505 -1.036766
5 -2.619787 1.024262 1.025925 -0.763013 0.942017 0.942017
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.