作为第 2 列第 1 列中数字的子列表的唯一元素

问题描述 投票:0回答:1

我有一栏(第一栏)。它有号码列表。我想要第 2 列中的唯一数字用于第 1 列中的特定数字。这些列看起来像附图。

A 栏 B 栏
1 2
1 2
3 4
5 8

我想得到像 [[2],[4],[8]] 这样的输出

pandas dataframe loops unique series
1个回答
0
投票

您似乎想根据 A 列中的每个不同值从 B 列中提取唯一值。这是在 Python 中使用 Pandas DataFrame 执行此操作的基本方法:

import pandas as pd

# Sample data
data = {'Column A': [1, 1, 3, 5], 'Column B': [2, 2, 4, 8]}
df = pd.DataFrame(data)  

result = df.groupby('Column A')['Column B'].unique().tolist()
print(result)

这将输出:

[array([2]), array([4]), array([8])]

以下是分步说明:

  1. 进口熊猫:

    • 导入 Pandas 库。
  2. 创建数据框:

    • 使用示例数据创建 Pandas DataFrame。
  3. 按 A 列分组:

    • 使用
      groupby
      按 A 列中的值对 DataFrame 进行分组。
  4. 提取唯一值:

    • 对于每个组,使用
      unique()
      从 B 列中获取唯一值。
  5. 转换为列表:

    • 将结果转换为列表。

现在,

result
包含一个 NumPy 数组列表,其中每个数组对应于 A 列中每个不同值的 B 列中的唯一值。如果您特别需要主列表中的列表(而不是 NumPy 数组),您可以进一步使用
.tolist()
将每个 NumPy 数组转换为列表。

注意:如果您尚未安装 Pandas 库,请确保通过在终端中运行

pip install pandas
来安装 Pandas 库。

© www.soinside.com 2019 - 2024. All rights reserved.