pandas - pandas 应用并返回多个值
问题描述
我有一个功能如下。我想将它应用于数据框的一行并返回 2 个值,然后将这 2 个值复制到 2 列中。我的两种方法都失败了(最后两行)
data1 = [['Alex',10,5,0],['Bob',12,4,1],['Clarke',13,6,0],['brke',15,1,0]]
df5 = pd.DataFrame(data1,columns=['Name','Age','weight','class'],dtype=float)
#print (df)
def calculate_distance2(row):
return pd.Series([row['Age']+row['weight'],row['Age']-row['weight']])
df5.apply(calculate_distance2, axis=1)
df5[['distance0'],['d6']]= df5.apply(calculate_distance2, axis=1)
df5['distance0'],df5['d6']= df5.apply(calculate_distance2, axis=1)
df5
解决方案
IIUC
def calculate_distance2(row):
return [row['Age']+row['weight'],row['Age']-row['weight']]
df5['distance0'],df5['d6']=calculate_distance2(df5)
df5
Name Age weight class distance0 d6
0 Alex 10.0 5.0 0.0 15.0 5.0
1 Bob 12.0 4.0 1.0 16.0 8.0
2 Clarke 13.0 6.0 0.0 19.0 7.0
3 brke 15.0 1.0 0.0 16.0 14.0
推荐阅读
- python - sklearn 的 GridSearchCV 问题
- r - R错误地返回无穷大
- encoding - javax.mail.Part和writeTo,无法获取与原文件相同的“eml”文件
- python - scipy.integrate.quad 缺少参数
- php - Laravel 社交名媛包错误
- machine-learning - 如何使用自定义数据集创建记录格式
- javascript - Vuex商店,为什么添加到数组会用最后一个条目覆盖商店中的所有值?
- javascript - 使用桌面 Javascript 应用程序打印
- sql - 在链接服务器上调用标量函数
- java - 多线程:为什么在“我是懒线程”之前打印“主线程结束”?