从一对多(未透视)的pandas dataframe列中获取映射字典,可以通过以下步骤实现:
这样,我们就可以从一对多的pandas dataframe列中获取映射字典了。
以下是一个示例代码:
import pandas as pd
# 假设我们有一个包含一对多关系的pandas dataframe
df = pd.DataFrame({'A': ['a', 'a', 'b', 'b', 'c'],
'B': ['x', 'y', 'z', 'y', 'x']})
# 使用groupby函数按照列'A'进行分组
grouped = df.groupby('A')
# 定义一个函数来处理每个分组的数据
def get_mapping_dict(group):
unique_values = group['B'].unique()
mapping_dict = {value: group['B'].tolist() for value in unique_values}
return mapping_dict
# 使用apply函数对每个分组进行操作,并获取映射字典
mapping_dict = grouped.apply(get_mapping_dict).to_dict()
# 打印映射字典
print(mapping_dict)
这个代码示例中,我们首先创建了一个包含一对多关系的pandas dataframe。然后,我们使用groupby函数按照列'A'进行分组。接着,我们定义了一个函数get_mapping_dict来处理每个分组的数据,其中使用了unique函数获取唯一值,并构建了一个字典。最后,我们使用apply函数对每个分组应用这个函数,并将结果转换为字典形式。
这样,我们就可以从一对多的pandas dataframe列中获取映射字典了。在实际应用中,可以根据具体需求对代码进行适当修改。
领取专属 10元无门槛券
手把手带您无忧上云