gpt4 book ai didi

python - 如何创建键: column_name and value : unique values in column in python from a dataframe的字典

转载 作者:行者123 更新时间:2023-12-02 05:41:02 25 4
gpt4 key购买 nike

我正在尝试创建一个键:值对的字典,其中键是数据帧的列名,值将是包含该列中所有唯一值的列表。最终我希望能够过滤掉 key_value根据条件从字典中配对。这是我到目前为止能够做的:

for col in col_list[1:]:
_list = []
_list.append(footwear_data[col].unique())
list_name = ''.join([str(col),'_list'])

product_list = ['shoe','footwear']
color_list = []
size_list = []

这里的产品、颜色、尺寸都是列名称,字典键应该相应命名,如 color_list 等。最终我需要访问字典中的每个 key:value_list 。预期输出:

KEY              VALUE
color_list : ["red","blue","black"]
size_list: ["9","XL","32","10 inches"]

有人可以帮我解决这个问题吗?附有数据快照。 data_frame

最佳答案

使用像这样的DataFrame:

import pandas as pd
df = pd.DataFrame([["Women", "Slip on", 7, "Black", "Clarks"], ["Women", "Slip on", 8, "Brown", "Clarcks"], ["Women", "Slip on", 7, "Blue", "Clarks"]], columns= ["Category", "Sub Category", "Size", "Color", "Brand"])

print(df)

输出:

  Category Sub Category  Size  Color    Brand
0 Women Slip on 7 Black Clarks
1 Women Slip on 8 Brown Clarcks
2 Women Slip on 7 Blue Clarks

您可以将 DataFrame 转换为字典,并在映射 DataFrame 的列时创建新的字典,如下例所示:

new_dict = {"color_list": list(df["Color"]), "size_list": list(df["Size"])}
# OR:
#new_dict = {"color_list": [k for k in df["Color"]], "size_list": [k for k in df["Size"]]}

print(new_dict)

输出:

{'color_list': ['Black', 'Brown', 'Blue'], 'size_list': [7, 8, 7]}

为了获得唯一的值,您可以使用set,如下例所示:

new_dict = {"color_list": list(set(df["Color"])), "size_list": list(set(df["Size"]))}
print(new_dict)

输出:

{'color_list': ['Brown', 'Blue', 'Black'], 'size_list': [8, 7]}

或者,就像 @Ami Tavory 在他的回答中所说的那样,为了从 DataFrame 中获得完整的唯一键和值,您可以简单地执行以下操作:

new_dict = {k:list(df[k].unique()) for k in df.columns}
print(new_dict)

输出:

{'Brand': ['Clarks', 'Clarcks'],
'Category': ['Women'],
'Color': ['Black', 'Brown', 'Blue'],
'Size': [7, 8],
'Sub Category': ['Slip on']}

关于python - 如何创建键: column_name and value : unique values in column in python from a dataframe的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44105375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com