从另一列创建一列列表,并在 Pandas 数据框中仅显示唯一值

用户11429634

我是熊猫的新手,我正在尝试使用 group by 并在新列中创建一个列表。我的数据框中有 3 列,我创建了第 4 列(New_List)来从另一列创建一个列表,如下所示:使用以下代码:

new_df = df.join(pd.Series(df.groupby(by='NO_ACCOUNTS').apply(lambda x: list(x.Bucket)), name="list_of_b"), on='NO_ACCOUNTS')

Account_Number   Bucket  Number_Transactions     New_List
   ABA            APP          155                 [APP]
   ABC            APP          1352                [APP]
   AAA            APP          90                  [API,APP]
   AAA            API          5                   [API,APP]

我希望获得 3 列所需的输出:

Account_Number     Number_Transactions     New_List
   ABA                      155                 [APP]
   ABC                      1352                [APP]
   AAA                      95                  [API,APP]
穆斯塔法·艾丁

您可以agg重新排列两列:

out = (df.groupby("Account_Number", sort=False, as_index=False)
         .agg(Number_Transactions=("Number_Transactions", "sum"),
              New_List=("Bucket", list)))

它首先分组,Account_Number同时保持其顺序,sort=False而不是索引as_index=False,然后Number_Transactions用求和聚合列并将其指定为相同名称的列,类似地,聚合Bucketlist并将其分配给New_List输出中的列,

要得到

>>> out

  Account_Number  Number_Transactions    New_List
0            ABA                  155       [APP]
1            ABC                 1352       [APP]
2            AAA                   95  [APP, API]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Pandas 中创建一列,计算另一列中唯一值的数量

遍历一列并根据 PANDAS 数据框中另一列的值将值添加到列表

根据列表或另一列中的值在Pandas数据框中动态选择列

Pandas - 通过在另一列中查找一列的值来创建一列

Python Pandas DataFrame检查一列的值是否在另一列表中

Pandas:重新排序基于另一列创建的组中一列中的值

Pandas 基于另一列 python 获取一列中的唯一值

用pandas数据框另一列中的值替换空列表

Pandas:从另一列中的字典列表创建新列

将一列垂直合并到另一列中,并在Pandas中填充其他列的值

使用Pandas根据另一列的值创建一列

根据另一列获取列值,并在pandas dataframe中获取字符串列表

Python Pandas在另一列的元素列表中找到一列的元素

Pandas Dataframe:如何创建另一列的增量唯一值计数的列

绘制数据框中的一列作为 Pandas 中另一列的函数

Python pandas:如何通过匹配另一列中的元素来创建列表

在另一列的列表中查找pandas数据框列的最接近元素

在pandas数据框中创建新列,作为另一列的函数

使用针对另一列的 if 语句在 Pandas 数据框中创建新列

Pandas - 在多个数据框中的同一列中查找唯一值

根据另一列中的值对pandas数据框中的列进行归一化

检查一列是否包含来自pandas数据框中另一列的单词

取一列中共享值的行,并合并pandas数据框中另一列中的值

如果列表中的字符串与另一列中的匹配,则创建一个 Pandas 列

在pandas数据框中创建一列

在pandas数据框中创建一列计数

根据另一列中的字符串值在 pandas 数据框中修改一列

基于另一列的 Pandas 数据框缩放列

对唯一列值进行分组以获取 Pandas 数据框列中每个唯一值的平均值