获取熊猫应用函数中的行的索引

获取熊猫应用函数中的行的索引,第1张

获取熊猫应用函数中的行的索引

在这种情况下,要访问索引,请访问

name
属性:

In [182]:df = pd.Dataframe([[1,2,3],[4,5,6]], columns=['a','b','c'])def rowFunc(row):    return row['a'] + row['b'] * row['c']def rowIndex(row):    return row.namedf['d'] = df.apply(rowFunc, axis=1)df['rowIndex'] = df.apply(rowIndex, axis=1)dfOut[182]:   a  b  c   d  rowIndex0  1  2  3   7         01  4  5  6  34         1

请注意,如果这确实是您要尝试执行的 *** 作,则可以使用以下命令并且速度更快:

In [198]:df['d'] = df['a'] + df['b'] * df['c']dfOut[198]:   a  b  c   d0  1  2  3   71  4  5  6  34In [199]:%timeit df['a'] + df['b'] * df['c']%timeit df.apply(rowIndex, axis=1)10000 loops, best of 3: 163 µs per loop1000 loops, best of 3: 286 µs per loop

编辑

3年后再看这个问题,您可以做:

In[15]:df['d'],df['rowIndex'] = df['a'] + df['b'] * df['c'], df.indexdfOut[15]:    a  b  c   d  rowIndex0  1  2  3   7         01  4  5  6  34         1

但是假设它并不那么简单,无论您

rowFunc
实际上在做什么,您都应该使用向量化函数,然后对df索引使用它们:

In[16]:df['newCol'] = df['a'] + df['b'] + df['c'] + df.indexdfOut[16]:    a  b  c   d  rowIndex  newCol0  1  2  3   7         0       61  4  5  6  34         1      16


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5652997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存