关于如何在熊猫数据框中生成新密钥的问题

Question regarding how to generate a new key in a panda dataframe

我有一个这样的数据框

df = pd.DataFrame({"item" : ["a", "b"], "beg": [1, 2], "end" : [10, 11]})

我想创建一个新键(我们称之为“范围”),它包含每个项目的“beg”和“end”的每个值, 即:

  item  beg end range
0   a    1   10  1 10
1   b    2   11  2 11 

我想我必须列一个清单,但我不知道怎么做。 我知道我应该像这样在 df 上循环:

for index, row in df.iterrows():
  df["range"] = #here goes the function

提前致谢。

你可以试试:

df['range'] = df[['beg','end']].astype(str).agg(' '.join, axis=1)

或:

df['range'] = df.apply(lambda x: f"{x['beg']} {x['end']}", axis=1)

这给你:

  item  beg  end range
0    a    1   10  1 10
1    b    2   11  2 11

其中范围是字符串类型。如果你想要列表类型:

df['range'] = [list(x) for x in zip(df['beg'], df['end'])]