相关疑难解决方法(0)

获取pandas应用函数中的行索引

我试图访问DataFrame在Pandas中整个应用的函数中的行的索引.我有这样的事情:

df = pandas.DataFrame([[1,2,3],[4,5,6]], columns=['a','b','c'])
>>> df
   a  b  c
0  1  2  3
1  4  5  6
Run Code Online (Sandbox Code Playgroud)

我将定义一个访问具有给定行的元素的函数

def rowFunc(row):
    return row['a'] + row['b'] * row['c']
Run Code Online (Sandbox Code Playgroud)

我可以像这样申请:

df['d'] = df.apply(rowFunc, axis=1)
>>> df
   a  b  c   d
0  1  2  3   7
1  4  5  6  34
Run Code Online (Sandbox Code Playgroud)

真棒!现在如果我想将索引合并到我的函数中呢?DataFrame添加之前的任何给定行的索引d都是Index([u'a', u'b', u'c', u'd'], dtype='object'),但我想要0和1.所以我不能只访问row.index.

我知道我可以在表中创建一个临时列来存储索引,但是我想知道它是否在某个行对象中存在.

dataframe python-2.7 pandas

96
推荐指数
3
解决办法
6万
查看次数

如何在Dask中进行行处理和项目分配

类似的未回答问题:逐行处理 Dask 数据帧

我正在处理数百万行长的数据帧,所以现在我试图并行执行所有数据帧操作。我需要转换为 Dask 的一个这样的操作是:

 for row in df.itertuples():                                                                                                                                                                                                         
     ratio = row.ratio                                                                                                                                                                                                                     
     tmpratio = row.tmpratio                                                                                                                                                                                                                                                                                                                                                                                                 
     tmplabel = row.tmplabel                                                                                                                                                                                                               
     if tmpratio > ratio:                                                                                                                                                                                                                  
         df.loc[row.Index,'ratio'] = tmpratio                                                                                                                                                                                        
         df.loc[row.Index,'label'] = tmplabel
Run Code Online (Sandbox Code Playgroud)

在 Dask 中按索引设置值或有条件地在行中设置值的合适方法是什么?由于.loc不支持DASK项任务,似乎没有成为set_valueat[]或者iat[]在DASK无论是。

我尝试将map_partitionsassign一起使用,但我没有看到在行级别执行条件分配的任何能力。

python dataframe pandas dask

2
推荐指数
1
解决办法
4189
查看次数

标签 统计

dataframe ×2

pandas ×2

dask ×1

python ×1

python-2.7 ×1