DataFrame 中取出某一列的值,去重后转换为一个新的列表

511 阅读1分钟

要从 DataFrame 中取出某一列的值,并将这些值去重后转换为一个新的列表,可以按照以下步骤进行操作。假设有一个名为 df 的 DataFrame,以及你希望取出的列名为 column_name

方法一:使用 Pandas 的 unique() 方法

Pandas 提供了 unique() 方法来获取 Series 对象中的唯一值,并返回一个包含这些唯一值的 NumPy 数组。然后,可以将这个数组转换为 Python 的列表类型。

import pandas as pd


# 示例 DataFrame
# df = pd.DataFrame({'column_name': [1, 2, 2, 3, 3, 4]})

# 使用 unique() 方法获取唯一值
unique_values = df['column_name'].unique()

# 将 NumPy 数组转换为 Python 列表
unique_list = list(unique_values)

print(unique_list)

方法二:使用 Python 的 set 进行去重

另一种方法是将列的值转换为 Python 的 set 集合,因为集合只包含唯一的元素,然后再转换为列表。

import pandas as pd

# 示例 DataFrame
# df = pd.DataFrame({'column_name': [1, 2, 2, 3, 3, 4]})

# 将列的值转换为集合并转换为列表
unique_list = list(set(df['column_name']))

print(unique_list)

方法三:使用 Pandas 的 drop_duplicates() 方法

还可以使用 Pandas 的 drop_duplicates() 方法直接在 DataFrame 上操作,获取去重后的列,并转换为列表。

import pandas as pd

# 示例 DataFrame
# df = pd.DataFrame({'column_name': [1, 2, 2, 3, 3, 4]})

# 使用 drop_duplicates() 方法获取去重后的列,并转换为列表
unique_list = df['column_name'].drop_duplicates().tolist()

print(unique_list)

总结

无论选择哪种方法,上述步骤都能从 DataFrame 中取出指定列的唯一值,并将这些值转换为一个新的 Python 列表。