繁体   English   中英

如何手动创建熊猫数据框

[英]how can I manually create a pandas dataframe

用最简单的术语来说,如何在不使用字典、列表或数组的情况下手动创建 Pandas 数据框。 我可以创建列但由于某种原因我无法手动输入数据

这是创建的初始字典,但是我似乎可以访问和映射单个值:

resource = {'<Invalid Value':{'None':{'None':'22'}},
        '<Not Defined>':{'None':{'None':'22'}},
        'Chipper':{'Chipper Required':{'EE_1410_0045':'13'}},
        'Climber':{'Climbers':{'EE_1410_0030':'22'}},
        'EWP 2 Man Crew':{'Medium EWP':{'EE_1410_0010':'2'}},
        'EWP 2 Man Large':{'Large EWP':{'EE_1410_0015':'3'}},
        'EWP 3 Man Crew':{'None':{'None':'22'}},
        'EWP 3 Man Large':{'None':{'None':'22'}},
        'Forestry Mulcher':{'Medium Mulcher':{'EE_1410_0070':'20'}},
        'Other - Add Note':{'None':{'None':'22'}},
        'Slasher':{'None':{'None':'22'}},
        'Slasher / Mulcher':{'None':{'None':'22'}},
        'Spray Crew':{'Spray Crew':{'EE_1410_0040':'18'}}}

新功能

def crew_type1():
    df = pd.DataFrame(crew_data['CrewEquipType1'])

    df['CrewType1'] = df.CrewEquipType1.map(pd.Series(resource_table['Konect Display']))

    return df['CrewType1']

我想你想要这个:(请在未来发布带有给定数据和所需答案格式的问题,没有数据很难弄清楚 OP 想要得到什么。请避免 XY 问题。)

import numpy as np
import pandas as pd

resource = { '<Not Defined>':{'None':{'None':'22'}},
        'Chipper':{'Chipper Required':{'EE_1410_0045':'13'}},
        'Climber':{'Climbers':{'EE_1410_0030':'22'}},
        'EWP 2 Man Crew':{'Medium EWP':{'EE_1410_0010':'2'}},
        'EWP 2 Man Large':{'Large EWP':{'EE_1410_0015':'3'}},
        'EWP 3 Man Crew':{'None':{'None':'22'}},
        'EWP 3 Man Large':{'None':{'None':'22'}},
        'Forestry Mulcher':{'Medium Mulcher':{'EE_1410_0070':'20'}},
        'Other - Add Note':{'None':{'None':'22'}},
        'Slasher':{'None':{'None':'22'}},
        'Slasher / Mulcher':{'None':{'None':'22'}},
        'Spray Crew':{'Spray Crew':{'EE_1410_0040':'18'}}
        }

k = list(resource.keys())
v = list(resource.values())

index = k
column = [ list(vv.keys())[0] for vv in v]
value1 = [ list(list(vv.values())[0].keys())[0] for vv in v]
value2 = [ list(list(vv.values())[0].values())[0] for vv in v]

df = pd.DataFrame({'column': column, 'value1': value1,'value2': value2},index=index)

print(df)

输出

                             column        value1 value2
<Not Defined>                  None          None     22
Chipper            Chipper Required  EE_1410_0045     13
Climber                    Climbers  EE_1410_0030     22
EWP 2 Man Crew           Medium EWP  EE_1410_0010      2
EWP 2 Man Large           Large EWP  EE_1410_0015      3
EWP 3 Man Crew                 None          None     22
EWP 3 Man Large                None          None     22
Forestry Mulcher     Medium Mulcher  EE_1410_0070     20
Other - Add Note               None          None     22
Slasher                        None          None     22
Slasher / Mulcher              None          None     22
Spray Crew               Spray Crew  EE_1410_0040     18

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM