Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.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 从这个具有索引标签的字典数据创建一个数据框_Python_Pandas - Fatal编程技术网

Python 从这个具有索引标签的字典数据创建一个数据框

Python 从这个具有索引标签的字典数据创建一个数据框,python,pandas,Python,Pandas,考虑以下Python字典数据和Python列表标签:** data = {'birds': ['Cranes', 'Cranes', 'plovers', 'spoonbills', 'spoonbills', 'Cranes', 'plovers', 'Cranes', 'spoonbills', 'spoonbills'], 'age': [3.5, 4, 1.5, np.nan, 6, 3, 5.5, np.nan, 8, 4], 'visits': [2,

考虑以下Python字典数据和Python列表标签:**

data = {'birds': ['Cranes', 'Cranes', 'plovers', 'spoonbills', 'spoonbills', 'Cranes', 'plovers', 'Cranes', 'spoonbills', 'spoonbills'],
        'age': [3.5, 4, 1.5, np.nan, 6, 3, 5.5, np.nan, 8, 4],
        'visits': [2, 4, 3, 4, 3, 4, 2, 2, 3, 2],
        'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

假设您的字典已按标签的正确顺序排序,则使用Pandas从该字典数据创建一个数据框,该数据框具有索引标签

import pandas as pd

data = {'birds': ['Cranes', 'Cranes', 'plovers', 'spoonbills', 'spoonbills', 'Cranes', 'plovers', 'Cranes', 'spoonbills', 'spoonbills'],
    'age': [3.5, 4, 1.5, np.nan, 6, 3, 5.5, np.nan, 8, 4],
    'visits': [2, 4, 3, 4, 3, 4, 2, 2, 3, 2],
    'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

data['labels'] = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

df = pd.DataFrame(data, columns=['birds', 'age', 'visits', 'priority', 'labels'])
df.set_index('labels')
试试下面的代码

labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
data = {
    'birds': ['Cranes', 'Cranes', 'plovers', 'spoonbills', 'spoonbills', 'Cranes', 'plovers', 'Cranes', 'spoonbills', 'spoonbills'],
    'age': [3.5, 4, 1.5, np.nan, 6, 3, 5.5, np.nan, 8, 4],
    'visits': [2, 4, 3, 4, 3, 4, 2, 2, 3, 2],
    'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no'],
    'labels' : labels
}
df = pd.DataFrame.from_dict(data)
df.set_index('labels')

您可以减少一些代码,如:

DataFrame为我们提供了一种灵活性,可以提供一些值,如数据、列、索引和列表等

如果我们处理的是Dictionary,那么默认情况下Dictionary键被视为列,值将被视为行

在下面的代码中,我通过DataFrame对象使用了name属性

df=pd.DataFrame(data,index=Labels) # Custom indexes
df.index.name='labels'             # After Running df.index.name you will get index as none, by this approach you can set any name to the column

我希望这将对您完全有帮助。

即使几天前我也遇到了同样的问题,我们有一个非常漂亮的库来处理数据帧,它比pandas更好

在python中搜索turicreate,它与熊猫非常相似,但比熊猫提供更多

您可以在Turi中定义SFrame,这有点类似于pandas数据帧。之后,您只需运行:

dataframe_name.show()

.show()可视化Turi Create中的任何数据结构


你可以访问上面提到的笔记本以更好地理解:

我在()2 3数据中得到这个错误名称错误回溯(最近一次调用上次)={'birds':['Cranes','Cranes','plovers','spoonbills','spoonbills','spoonbills','Cranes','Cranes','spoonbills','spoonbills'],--->4‘年龄’:[3.5,4,1.5,np.nan,6,3,5.5,np.nan,8,4],5‘访问’:[2,4,3,3,4,2,2,3,2],6‘优先级’:['yes','yes','no','no','yes','no','yes','no',name错误:名称'np未定义添加
导入numpy为np
下的导入熊猫为pd