gpt4 book ai didi

python - 操作数据框字典中的元素

转载 作者:太空宇宙 更新时间:2023-11-03 23:57:57 26 4
gpt4 key购买 nike

我正在尝试遍历数据框字典。对于字典中的每个 df,我试图将两列附加到一个列表,执行一些操作,然后将该列表附加到一个单独的主数据框。

我如何尝试访问字典的每个元素:

for k in range(len(dict_of_df)):
l = dict_of_df[['Name1', 'Name2']][k].to_list()

然后我试图从这个列表中删除任何重复项,并将剩余项目的组合附加到主 df 的两个单独的列中。

例如,从一开始就给定以下数据框:

Name1    Name2    Color    Size
Jim Bob R L
Sam Jim G S

Name1 & Name2 将被发送到如下列表:

 l
Jim
Bob
Sam
Jim

删除重复项会留下:

 l
Jim
Bob
Sam

将这些项目的组合插入主 df 将产生:

 Name1   Name2
Jim Bob
Jim Sam
Sam Bob

最佳答案

您可以使用 itertools.combinations,一次取两个。展平您的姓名列,然后在进行组合之前删除重复项。

# pandas >= 0.24
from itertools import combinations

names = pd.Series(
df[['Name1', 'Name2']].to_numpy().ravel()).drop_duplicates()
pd.DataFrame(combinations(names, 2), columns=['name1', 'name2'])

name1 name2
0 Jim Bob
1 Jim Sam
2 Bob Sam

# pandas < 0.24
# .to_numpy() -> .values
# combinations(...) -> list(combinations(...)) # iterators not supported
names = pd.Series(df[['Name1', 'Name2']].values.ravel()).drop_duplicates()
pd.DataFrame([*combinations(names, 2)], columns=['name1', 'name2'])

name1 name2
0 Jim Bob
1 Jim Sam
2 Bob Sam

关于python - 操作数据框字典中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56854848/

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