通过函数创建多个新的数据帧列

2024-06-28 19:37:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用一个函数创建多个新的dataframe列。然而,当我运行下面的简单代码时,我得到一个错误,“KeyError:”['AdjTime1''AdjTime2']不在索引中

如何更正此问题以将两个新列('AdjTime1'&;AdjTime2')添加到数据帧?你知道吗

谢谢!你知道吗

import pandas as pd

df = pd.DataFrame({'Runner':['Wade','Brian','Jason'],'Time':[80,75,98]})

def adj_speed(row):
    adjusted_speed1 = row['Time']*1.5
    adjusted_speed2 = row['Time']*2.0

    return adjusted_speed1, adjusted_speed2

df[['AdjTime1','AdjTime2']] = df.apply(adj_speed,axis=1)

Tags: 函数代码dataframedftime错误rowpd
1条回答
网友
1楼 · 发布于 2024-06-28 19:37:02

只需执行以下操作(假设您有一个要乘以Time的列表值):

l=[1.5,2.0]
for e,i in enumerate(l):
    df['AdjTime'+str(e+1)]=df.Time*i
print(df)

  Runner  Time  AdjTime1  AdjTime2
0   Wade    80     120.0     160.0
1  Brian    75     112.5     150.0
2  Jason    98     147.0     196.0

相关问题 更多 >