Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python使用键和值列表创建字典_Python 3.x_Pandas - Fatal编程技术网

Python 3.x Python使用键和值列表创建字典

Python 3.x Python使用键和值列表创建字典,python-3.x,pandas,Python 3.x,Pandas,我有一个整数列表,其中索引表示数据帧的列号。我想保存dataframe列的名称和列表索引的值,因此我考虑使用一个字典,将列表值作为键,并将dataframe.loc[list\u index]作为值。 一个键有多个值,所以我举一个整数列表的例子: [0,2,1,5,0,9,6,3] 所以我想做一个这样的决定: 0: [column1, another column] 1: [column3,...] .... 以下是我的第一个方法: article_nos= {} for idx, va

我有一个整数列表,其中索引表示数据帧的列号。我想保存dataframe列的名称和列表索引的值,因此我考虑使用一个字典,将列表值作为键,并将
dataframe.loc[list\u index]
作为值。
一个键有多个值,所以我举一个整数列表的例子:

[0,2,1,5,0,9,6,3]  
所以我想做一个这样的决定:

0: [column1, another column]
1: [column3,...]
....
以下是我的第一个方法:

article_nos= {}
for idx, val in enumerate(labels):
    try:
        article_nos[val].append(data_pct_change.loc[:, idx].name)
    except KeyError:
        article_nos[val] = [val]
数据:
数据更改:

ARTICLE_NO     43470868       40370875       43770899       48870943       \
DATE                                                                     
2017-01-02       0.000000       0.000000       0.000000       0.000000   
2017-01-09      -0.015625      -0.074928      -0.083333       0.230769   
2017-01-16       0.232804       0.007788       0.284091       0.062500   
2017-01-23       0.051502       0.174652       0.011799       0.117647   
2017-01-30       0.200000      -0.082895       0.008746       0.807018   
2017-02-06       0.057823       0.040172      -0.020231      -0.411003   
2017-02-13       0.000000      -0.037241      -0.014749      -0.087912   
2017-02-20       0.125402       0.259312       0.218563       0.138554   
2017-02-27      -0.265714      -0.271900      -0.233415      -0.343915   
2017-03-06       0.470817       0.293750       0.448718       0.661290   
2017-03-13       0.002646       0.013285      -0.057522      -0.048544   
标签:

[27, 5, 5, 6, 27, 27, 27, 27,...]
期望输出:

27: [43470868,...]
5: [40370875, 43770899, ...]
这应该澄清我试图实现的目标

因此,我想使用包含kmeans算法标签的列表索引,并创建一个包含所有已创建标签和属于特定列的dataframe列名的字典,因此该值是我的键,data_pct_change.loc[:,idx]应该是我的值,并在每次迭代中追加。 但是,这不起作用,只执行except块。
有人能帮忙吗?

我还是不完全明白你要干什么。但这里有一些东西可能会让您的生活更轻松。
templast=your_Df.columns.values
这将在保持顺序的同时返回数据帧的列名列表。因此,如果您有一个列为
adgbcf
的数据框,您将得到以下列表:
['a'd'g'b'c'f']


这至少有助于您在保留正确索引的同时迭代列名。

您提供的代码和数据无助于理解您要实现的目标。你能把这封信寄出去吗?(需要
标签
数据更改
的值和预期结果)。我想通过与标签中数字的索引相等的索引访问数据帧(数据更改)的列。此指定索引的值应用作要创建的字典中的键,因此我从标签中获取与特定值匹配的所有数据列,作为值列表,并将其指定为键。请阅读“是什么”并编辑您的问题以符合要求。否则就不清楚了,没有人能帮你。谢谢你,这正是我要找的。现在,我可以用所需的方式连接我的两个列表