将函数应用于 Pandas DataFrame 中的多个列
考虑以下情况,其中您有一个包含多个列和自定义函数的 DataFrame您想要按元素应用于这些列以创建新的
问题:
假设您有一个包含三列的 DataFrame:
df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})
和一个函数:
def get_sublist(sta, end): return mylist[sta:end+1]
您的目标是将 get_sublist 应用于“col_1”和“col_2” columns of df 以获得包含 'mylist' 相应子列表的新列 'col_3'。
解决方案:
要实现此目的,您可以使用以下命令Pandas 操作:
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
以下是code:
使用此方法,生成的 DataFrame 将具有以下结构:
ID col_1 col_2 col_3 0 1 0 1 ['a', 'b'] 1 2 2 4 ['c', 'd', 'e'] 2 3 3 5 ['d', 'e', 'f']
请注意,此解决方案允许您将任何自定义函数传递给 apply() 方法并将其同时应用于多个列。通过 x.col_name 访问列值,您可以安全地使用列名称,即使它们包含空格或与现有 DataFrame 属性同名。
以上是如何将自定义函数应用于多个 Pandas DataFrame 列以创建新列?的详细内容。更多信息请关注PHP中文网其他相关文章!