简体   繁体   English

Python Pandas:与apply()一起使用时功能不起作用

[英]Python Pandas: Function doesn't work when used with apply()

The following function: 以下功能:

def func(x):
    for k in x['slices']:
        for j in k:
            print(x['low'].iloc[j]) 

applied in the following manner works: 可以通过以下方式应用:

func(test)

but as follow doesn't: 但如下并非如此:

test.apply(func, axis=1)

Would you be able to determine why? 您能确定原因吗?


EDIT: I used the print only for debug purpose: the function used to be : 编辑:我仅将打印用于调试目的:该函数曾经是:

def func(x):
    result=[]
    for k in x:
        for j in k:    
            result.append(x['low'].iloc[j])
    return result

which also didn't work 这也没有用

Below the elements to reconstructs the data. 在元素下方重建数据。

df = pd.DataFrame(dict, columns=["low", "slices"])

   dict = {'low': {0: 1207.25,
      1: 1207.5,
      2: 1205.75,
      3: 1206.0,
      4: 1201.0,
      5: 1202.75,
      6: 1203.75},
     'slices': {0: [slice(1, 2, None)],
      1: [slice(1, 3, None), slice(2, 3, None)],
      2: [slice(1, 4, None), slice(2, 4, None), slice(3, 4, None)],
      3: [slice(1, 5, None),
       slice(2, 5, None),
       slice(3, 5, None),
       slice(4, 5, None)],
      4: [slice(1, 6, None),
       slice(2, 6, None),
       slice(3, 6, None),
       slice(4, 6, None),
       slice(5, 6, None)],
      5: [slice(1, 7, None),
       slice(2, 7, None),
       slice(3, 7, None),
       slice(4, 7, None),
       slice(5, 7, None),
       slice(6, 7, None)],
      6: [slice(1, 8, None),
       slice(2, 8, None),
       slice(3, 8, None),
       slice(4, 8, None),
       slice(5, 8, None),
       slice(6, 8, None),
       slice(7, 8, None)]}}

define your function this way 用这种方式定义你的功能

def fun(slices):
    return [df.low.loc[s].tolist() for s in slices]

And apply over the slices column 并应用于切片列

df['slices_low'] = df.slices.apply(fun)

df

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在python脚本文件中使用时,type()函数不起作用 - type() function doesn't work when used in a python script file python Pandas lambda apply doesn't work for NaN - python Pandas lambda apply doesn't work for NaN python / pandas中的脚本有效,但放在函数旁边时不起作用 - Script in python/pandas works but doesn't work when placed in side a function PIL ImageDraw.Draw() 在 function 中使用时不起作用 - PIL ImageDraw.Draw() doesn't work when used in a function 与popen python一起使用时,输入命令似乎不起作用 - input command doesn't seem to work when used with popen python 传递熊猫数据框属性的Python函数不起作用 - Python function transfering the pandas Dataframe attributes doesn't work Python:将带有自定义 function 的 Apply.apply() 应用于数据框 - 为什么它不起作用? - Python: Apply .apply() with a self-defined function to a Data Frame- why doesn't it work? 当该系列包含集合时,为什么我的熊猫rolling()。apply()不起作用? - Why doesn't my pandas rolling().apply() work when the series contains collections? Pandas Series.apply无法使用字符串 - Pandas Series.apply doesn't work consist of strings 当使用自定义 function 时,Pandas 应用/映射在某些行不起作用 - Pandas apply/map not working at some rows when custom function is used
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM