2024-06-26 03:13:20 发布
网友
我有以下数据帧。在
Team Opponent Detail Redskins Rams Kirk Cousins .... Penaltyon Bill Smith, Holding:10 yards
我想做的是用pandas创建三个列,给出我的名字(在本例中是Bill Smith)、违规类型(进攻性控制)以及团队的成本(10码)。看起来是这样的
我使用了一些字符串操作来实际提取字段,但不知道如何创建新列。我浏览了一些旧专栏,但似乎不能使其发挥作用。谢谢!在
您的函数应该返回3个值,例如。。。在
首先创建空列:
。。。然后将“apply”的结果强制转换为一个列表。在
df[["Name", "Infraction", "Yards"]] = list(df.Detail.apply(extract))
您可能对this更具体但更广泛的答案感兴趣。在
要创建新列,只需执行以下操作:
例如,假设您想要一个包含列Details的第一个单词的新列
这将创建一个包含“Penaltyon”的列
现在,假设我现在想要两个新列,一个是第一个单词,另一个是第二个单词。我可以用这两列创建一个新的数据帧:
new_df = my_df.apply(lambda x: pd.Series({'first':x.Detail.split(' ')[0], 'second': x.Detail.split(' ')[1]} ), axis=1)
现在我只需连接两个数据帧:
pd.concat([my_df, new_df], axis=1)
您的函数应该返回3个值,例如。。。在
^{1}$首先创建空列:
^{pr2}$。。。然后将“apply”的结果强制转换为一个列表。在
您可能对this更具体但更广泛的答案感兴趣。在
要创建新列,只需执行以下操作:
^{1}$例如,假设您想要一个包含列Details的第一个单词的新列
^{pr2}$这将创建一个包含“Penaltyon”的列
现在,假设我现在想要两个新列,一个是第一个单词,另一个是第二个单词。我可以用这两列创建一个新的数据帧:
现在我只需连接两个数据帧:
相关问题 更多 >
编程相关推荐