Pandas Select Columns操作简单

时间:2019-09-16 15:58:38

标签: python pandas

这个想法是从DataFrame中选择两列,但是其中一列需要除以2。我有以下代码:

C = pd.DataFrame({'name':['A','B','C'], 'num1': [99,3,5], 'num2' :[3.5,99,-5]})
C['num1_aux'] = C.num1/2
C['final'] = C[['num1_aux','num2']].min(axis=1)

哪个给我结果。 我想知道没有辅助步骤怎么可能,因此将操作包括在选择中。类似于:

C['final'] = C[[C.num1/2,C.num2]].min(axis=1)

哪个返回错误:

  

KeyError:“ [Index([(49.5,1.5,2.5),(3.5,99.0,-5.0)],dtype ='object')]都不在[列]中”

该操作有效:(49.5, 1.5, 2.5)。但是应用程序关闭了。如果可能的话,可以在Pandas文档中找到避免这种简单(或愚蠢)问题的方法。

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要使用.assign()

C['final'] = C.assign(num1_aux=C['num1']/2)[['num1_aux','num2']].min(1)

输出:

    name    num1    num2    final
0   A        99      3.5    3.5
1   B         3     99.0    1.5
2   C         5     -5.0    -5.0