示例数据框:
df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
Run Code Online (Sandbox Code Playgroud)
我想将每个现有列的逆添加到数据框中,并根据带有前缀的现有列名称来命名它们,例如inv_A是列的逆A,等等。
生成的数据框应如下所示:
df_inv = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6], "inv_A": [1/1, 1/2, 1/3], "inv_B": [1/4, 1/5, 1/6]})
Run Code Online (Sandbox Code Playgroud)
显然,有一些多余的方法,比如在循环中执行此操作,但应该存在更多Python式的方法来执行此操作,并且在搜索一段时间后我没有找到任何内容。我知道这很可能是重复的;如果是这样,请指出我现有的答案。
尝试 :
inv_df = df.join(df.apply(lambda x: 1/x).add_prefix('inv_'))
Run Code Online (Sandbox Code Playgroud)
或者正如@Erfan建议的那样,您不需要使用 apply :
inv_df = df.join((1/df).add_prefix('inv_'))
Run Code Online (Sandbox Code Playgroud)
这给出:
inv_df = df.join((1/df).add_prefix('inv_'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5379 次 |
| 最近记录: |