pandas - 如何在数据框中应用多行数据
问题描述
我是 python 和 Pandas 的新手,我有一个庞大的数据集,并且逐行应用函数我想应用于一批行并返回结果并关联回相同的相应行
例子:
ID Values
a 2
b 3
c 4
d 5
e 6
f 7
df['squared_values']= df['values'].apply(lambda row: function(row))
def function(x):
#making call to api and returning values related to x
return response
以上一个逐行应用函数,这是耗时的
我需要一种对行进行批处理操作的方法
example:
batch=3
df['squared_values']= df['values'].apply(lambda batch: function(batch))
on first pass values should be
ID Values squared_values
a 2 4
b 3 9
c 4 16
d 5
e 6
f 7
on second pass
ID Values squared_values
a 2 4
b 3 9
c 4 16
d 5 25
e 6 36
f 7 49
解决方案
这个操作真的太慢了吗?
df['squared_values'] = df['Values'] ** 2
您可以随时添加 iloc 来选择行:
df.iloc['squared_values'].update(df.iloc[0:4]['Values'] ** 2)
但我无法想象这会更快
推荐阅读
- c++ - 在c ++中组合两个不同向量的比率
- java - 如何从java中的固定数组中删除最后一项
- c++ - 在 OpenCV 上使用 Tensorflow 2.X 模型
- c# - 销毁确切的对象
- elasticsearch - 弹性搜索交叉点查询
- java - 不推荐使用 Android GoogleApiClient 以获取建议的联系人列表
- python - 将新数据添加到 HDF5 文件中会产生一个空数组
- c# - 非个人认证 用户名或密码不正确
- python - Django没有使用内置登录视图重定向到下一页
- javascript - 使用 then-catch 的 try-catch 中的 Node.js 问题