当前位置: 首页 > 面试题库 >

如何在Python的数据框中为记录分配唯一值计数

澹台镜
2023-03-14
问题内容

我有一个这样的数据框:

IP_address
   IP1
   IP1
   IP1
   IP4
   IP4
   IP4
   IP4
   IP4
   IP7
   IP7
   IP7

我想在此列中对唯一值进行计数,并将计数本身添加为变量。最后,它应如下所示:

IP_address  IP_address_Count
   IP1               3
   IP1               3
   IP1               3
   IP4               5
   IP4               5
   IP4               5
   IP4               5
   IP4               5
   IP7               3
   IP7               3
   IP7               3

我可以使用以下代码获取列的唯一值:

unique_ip_address_count = (df_c_train.drop_duplicates().IP_address.value_counts()).to_dict()

但是,我不确定如何在python的循环中匹配它们,以便在python中获得所需的结果。任何帮助都将不胜感激。

我找不到等效的答案。如果有什么请直接把我送到那里。谢谢。


问题答案:

您可以在地图上使用value_counts()

df['count'] = df['IP_address'].map(df['IP_address'].value_counts())


    IP_address  count
0   IP1         3
1   IP1         3
2   IP1         3
3   IP4         5
4   IP4         5
5   IP4         5
6   IP4         5
7   IP4         5
8   IP7         3
9   IP7         3
10  IP7         3


 类似资料:
  • 我有以下数据框: 我想将其转换为: i、 e.我希望保留前4列,但将剩余的每列值分配到单独的行中。有没有一种不使用for循环的方法来实现这一点?

  • 我有两张桌子: 表1: 如果两个表都有类似“city”的列,例如 城市 ========== 伦敦 伦敦 伦敦 巴黎 巴黎 纽约 解决方案会是什么样子???

  • 问题内容: 如果我有这样的表: 我可以在Qlik中提出5个唯一的hID。我该如何在Python中使用Pandas数据框?还是一个numpy数组?同样,如果这样做,我将在Qlik中得到8。在大熊猫中做这件事的等效方法是什么? 问题答案: 计算不同的值,使用: 仅计算非空值,请使用: 计算包括空值在内的总值,请使用属性: 使用布尔索引: 或使用: 输出:

  • 对熊猫来说显然是新鲜事物。如何简单地计算数据帧中的记录数。 我本以为像这样简单的东西就能做到,但我似乎甚至在搜索中都找不到答案...可能是因为它太简单了。 上面的代码实际上只是打印整个df

  • 问题内容: 我有一个字符串列表。我想为每个字符串分配一个唯一的数字(确切的数字并不重要),并依次使用这些数字创建一个长度相同的列表。以下是我的最佳尝试,但由于以下两个原因,我不满意: 假定相同的值彼此相邻 我必须以开头列表,否则输出将不正确 我的代码: 我想使代码更通用,因此可以使用未知列表。有任何想法吗? 问题答案: 无需使用外部库(检查 EDIT 以获取解决方案),您可以按照以下步骤进行操作:

  • 这就是我想要记录的地方,每一秒都在被记录。但我希望每5分钟添加一次数据