要从 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 列表。