TypeError: frame_apply() got an unexpected keyword argument 'broadcast'

TypeError: frame_apply() got an unexpected keyword argument 'broadcast'

我正在使用 .loc 运行在 Pandas 数据集的每一行上设置一个函数。

dm.loc[:50, 'address_components'] = dm.loc[:50, ['description', 'city']].apply(lambda row: get_address(row[0], row[1]), axis=1)

下面是函数本身,尽管错误不适用于我传递的函数

def get_address(address, city):
    geolocator = GoogleV3(api_key=api_key, domain='maps.googleapis.com', scheme=None, client_id=None, 
                      secret_key=None, 
                     user_agent=None)
    geocode = RateLimiter(geolocator.geocode, min_delay_seconds=0.0, swallow_exceptions=True, return_value_on_exception=None)
    # cleanup address
    address = address.strip(' ').strip(',')
    full_addr = '{}, {}'.format(address, city)
    #print(full_addr)
    data = geocode(full_addr, timeout=None, exactly_one=True)
    if data:
        #print(data.raw)
        return data.raw

    return None

和回应

TypeError                                 Traceback (most recent call last)
<ipython-input-77-46aa2724c2f6> in <module>
      1 
      2 
----> 3 dm.loc[:50, 'address_components'] = dm.loc[:50, ['description', 'city']].apply(lambda row: get_address(row[0], row[1]), axis=1)

~/virt_env/virt2/lib/python3.6/site-packages/pandas/core/frame.py in apply(self, func, axis, broadcast, raw, reduce, result_type, args, **kwds)
   6909             result_type=result_type,
   6910             args=args,
-> 6911             kwds=kwds,
   6912         )
   6913         return op.get_result()

TypeError: frame_apply() got an unexpected keyword argument 'broadcast'

这个错误是新出现的,因为函数 运行 之前没有问题,只有在我将 Pandas 更新到 1.0.4 后才开始抛出错误消息。但是,即使在我将 pandas 降级回 0.25.1 后它仍然存在。广播参数对我来说也没有意义。

我不能确定,但​​你似乎每次应用迭代时都分配给前 50 行,同时迭代每一行

dm.loc[:50, 'address_components'] = 

应该是

dm["address_components"] = dm.loc[:50, ['description', 'city']].apply(lambda row: get_address(row[0], row[1]), axis=1)

原来真的是版本问题。降级回pandas0.25,重启内核又飞起来了!