【问题标题】:Bind values of panda data.frame绑定 panda data.frame 的值
【发布时间】:2017-01-25 09:42:49
【问题描述】:

我正在寻找一种将子集中的行添加到新变量中的方法。

假设我们有以下数据集

df = pd.DataFrame(columns=('Body', 'ticketID'))
df2 = pd.DataFrame([["test1", 1], ["test2",1], ["test3",2],  ["test4",2]], columns=('Body', 'ticketID'))
df = df.append(df2)

我使用ticketID的唯一值创建唯一的data.frames“df_temp”

uniqueIDs = df.ticketID.unique()
for u in uniqueIDs:
 df_temp = df2.loc[df['ticketID'] == u]

现在我想创建一个额外的步骤来绑定单独的 data.frame 的主体值。所以在ticketID == 1 case -> "test1 test2" 和ticketID == 2 case "test3 test4" 的情况下。

关于如何使用上面的示例实现这一点的任何想法

【问题讨论】:

  • 您的问题不清楚,请显示所需的输出。听起来你想要df.groupby('ticketID')['Body'].apply(' '.join)
  • @EdChum,谢谢。这就是我要找的东西!

标签: python pandas


【解决方案1】:

您可以在 ID 列上使用 groupbyapply join,而不是循环遍历 df:

In [82]:
df.groupby('ticketID')['Body'].apply(' '.join)

Out[82]:
ticketID
1.0    test1 test2
2.0    test3 test4
Name: Body, dtype: object

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 2019-07-16
    • 2020-07-06
    • 2022-06-19
    • 2021-06-22
    • 2021-11-02
    • 1970-01-01
    相关资源
    最近更新 更多