Python 如何使用链接到关键字的数组创建字典

Python 如何使用链接到关键字的数组创建字典,python,dictionary,Python,Dictionary,所以基本上我需要创建一个字典(或其他类似的数据结构),在其中我给出一个数组作为一个参数,它将它映射到一个关键字。例如,如果您有一个数组 a=['Ohio','California','Colorado'] 及 实例: data['OCC_Desc'] = ['Oncology','Market_ana','67W045','Fret678',etc..] data['LoB'] = ['7856op','Ran0p','Mkl45',etc..] 参数: param['column_nam

所以基本上我需要创建一个字典(或其他类似的数据结构),在其中我给出一个数组作为一个参数,它将它映射到一个关键字。例如,如果您有一个数组

a=['Ohio','California','Colorado'] 

实例:

data['OCC_Desc'] = ['Oncology','Market_ana','67W045','Fret678',etc..]
data['LoB'] = ['7856op','Ran0p','Mkl45',etc..]
参数:

param['column_name']=['OCC_Desc','LoB','OCC',etc..]
param['parameter'] = ['Oncology','7856op','Fret678',etc...]
param['Offering'] = ['Medicine','Transport','Supplies',etc...]
如果我使用这个“字典”的话,输出将在这个简单的例子中

data['Offering'] = ['Medicine','Transport']
参数的数据帧结构示例

列参数提供
0地点:洛杉矶市
洛杉矶湖人队一队
2地点:科罗拉多州
3意大利比萨饼
4地点德国国家
将“a”链接到字符串“State”,将“b”链接到字符串“City”。所以稍后当我在一个数据帧上实现它时,我可以给出一个列作为输入,这个“字典”将检查数据帧的每一行到这个数组中,并返回“City”或“State”

上面的例子只是为了理解这个问题,实际上我必须对学校的数据集这样做,我有多个列的参数链接到多个类别(14个列作为参数,16个不同类别作为结果,这些类别可以是多个参数的结果[字面上是数百个]和来自不同的列)

输出

            x         y            z
0        Ohio  Colorado   California
1  ToothBrush    Hammer          Gun
2   San Diego    Denver  Los Angeles

Row ['Ohio', 'Colorado', 'California'] at index 0 is a State
Row ['San Diego', 'Denver', 'Los Angeles'] at index 2 is a City
输出

            x         y            z
0        Ohio  Colorado   California
1  ToothBrush    Hammer          Gun
2   San Diego    Denver  Los Angeles

Row ['Ohio', 'Colorado', 'California'] at index 0 is a State
Row ['San Diego', 'Denver', 'Los Angeles'] at index 2 is a City

你不能把
a
b
中的元素作为键,把'City'或'State'作为值吗?作为回报,你得到一个dict
d={'Ohio':'State','California':'State','Colorado':'State','Los Angeles':'City','San Diego':'City','Denver':'City'}
是的,这就是我想到的解决方案。但是现在想象一下这个问题还有一个“维度”。您需要一个能够识别“categories”的字典来返回答案,这取决于数据帧的哪一列位于键的位置。例如,如果在“位置”列下有“洛杉矶”,它将返回“城市”,但如果在“团队”列下有“洛杉矶”,它将返回“湖人”。基本上,你必须给出真实问题的样本数据,你给出的示例不足够。你不能将元素作为键放入
a
b
中吗,“城市”或“国家”作为价值?作为回报,你得到一个dict
d={'Ohio':'State','California':'State','Colorado':'State','Los Angeles':'City','San Diego':'City','Denver':'City'}
是的,这就是我想到的解决方案。但是现在想象一下这个问题还有一个“维度”。您需要一个能够识别“categories”的字典来返回答案,这取决于数据帧的哪一列位于键的位置。例如,如果你在“位置”栏下有“洛杉矶”,它将返回“城市”,但如果在“团队”栏下有“洛杉矶”,它将返回“湖人”。基本上,你必须给出真实问题的样本数据,你给出的例子并不充分首先,非常感谢你花时间回答我的问题,这对我来说真的很重要。关于你建议的解决方案,这不是我想要的。我试着用其他方式解决这个问题。我的第一个猜测是尝试制作一个字典,其中有一个数组(如我上面提到的数组),并且给定的数组链接到一个“关键字”。因此,当我将这个字典实现到一个dataframe时,它将遍历dataframe某列的每一行,如果它从数组中找到一个元素,那么它将返回我链接到的“关键字”。真正的问题是,我有一个数据集,它包含14个不同的列,大约1000行。我得到了一个“如果a,那么b”形式的参数列表,其中的参数可以给出总共16个不同的“产品”类别,我对数据集的每一列都有多个参数,这些参数的结果可能导致16个不同的“产品”类别中的一个。因此,我需要以某种方式创建一种数据类型,在这种类型中,我可以组织共享相同IF的所有参数(这是我需要分析的数据集的列),并将每个参数链接到“提供”类别。因此,我总共有14列参数(可以看作是14个字典)然后我可以将其实现到datasetThanks以获得反馈;我很乐意帮忙。因此,您有一个pandas.DataFrame,包含14列和多行。这些参数存储在哪里?它们是在您的数据框架内还是在单独的列表中?另外,您可以提供一个列示例、该列中的一个元素、该列的两个参数以及这些参数所属的类别。这将帮助我为您找到一个不同的解决方案。@GuillermoCampollo听起来不错,很高兴我能帮助您。如果你还有什么需要或想知道的,请发表评论。祝你度过愉快的一天。首先,非常感谢你花时间回答我的问题,这对我来说真的很重要。关于你建议的解决方案,这不是我想要的。我试着用其他方式解决这个问题。我的第一个猜测是尝试制作一个字典,其中有一个数组(如我上面提到的数组),并且给定的数组链接到一个“关键字”。因此,当我将这个字典实现到一个dataframe时,它将遍历dataframe某列的每一行,如果它从数组中找到一个元素,那么它将返回我链接到的“关键字”。真正的问题是,我有一个数据集,它包含14个不同的列,大约1000行。我得到了一个“如果a,那么b”形式的参数列表,其中的参数可以给出总共16个不同的“产品”类别,我对数据集的每一列都有多个参数,这些参数的结果可能导致16个不同的“产品”类别中的一个。因此,我需要以某种方式创建一种数据类型,在这种类型中,我可以组织所有共享相同IF(这是我需要分析的数据集的列)的参数,并将每个参数链接到“提供”类别
            x         y            z
0        Ohio  Colorado   California
1  ToothBrush    Hammer          Gun
2   San Diego    Denver  Los Angeles

Row ['Ohio', 'Colorado', 'California'] at index 0 is a State
Row ['San Diego', 'Denver', 'Los Angeles'] at index 2 is a City