|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Hårdvara
  • Allt-i - ett-skrivare
  • Apple Computers
  • BIOS
  • CD & DVD drives
  • Processorer
  • Computer Drives
  • Bildskärmar
  • Kringutrustning
  • Datorkraft Källor
  • dator Skrivare
  • Computer uppgraderingar
  • Stationära datorer
  • Elektronisk bok läsare
  • Externa hårddiskar
  • Flash Drives
  • Input & Output Devices
  • Kindle
  • Bärbara datorer
  • stordatorer
  • Möss & tangentbord
  • Netbooks
  • Network Equipment
  • Nook
  • bärbara datorer
  • Övrigt Hårdvara
  • PC Computers
  • projektorer
  • RAM , kort och moderkort
  • skannrar
  • Servrar
  • Ljudkort
  • Tablet PC
  • grafikkort
  • arbetsstationer
  • iPad
  • iPhone
  • * Dator Kunskap >> Hårdvara >> stordatorer >> Content

    Hur kan jag skapa och manipulera en PANDAS 3D -dataframe effektivt?

    Pandas stöder inte direkt 3D -dataframes. Den grundläggande strukturen för en PANDAS-dataframe är tvådimensionell (rader och kolumner). För att representera 3D -data måste du använda ett annat tillvägagångssätt, vanligtvis en av dessa:

    1. Paneldata (avskrivna men konceptuellt relevanta):

    Pandas brukade ha ett "panel" -objekt, men det är avskrivet. Det var i huvudsak en behållare för flera dataframes. Även om det inte är direkt användbart nu, hjälper det att förstå det konceptuella tillvägagångssättet:Föreställ dig varje dataframe som representerar en skiva längs en dimension.

    2. Använda en enda dataframe med en multiIndex:

    Detta är den mest effektiva och rekommenderade metoden. Du skapar en multiindex för dina kolumner för att representera den tredje dimensionen.

    `` `python

    Importera pandor som PD

    Importera numpy som NP

    Exempel 3D -data (2x3x4)

    data_3d =np.random.rand (2, 3, 4)

    Skapa en multiIndex för kolumnerna

    matriser =[

    ['A', 'a', 'b', 'b', 'c', 'c'], # lager 1

    ['X', 'y', 'x', 'y', 'x', 'y'] # lager 2

    ]

    tuples =lista (zip (*matriser)))

    index =pd.multiindex.from_tuples (tuples, names =['Layer1', 'Layer2'])

    omforma uppgifterna till en 2D -matris som är lämplig för en dataframe

    data_2d =data_3d.reshape (2, 6)

    Skapa dataframe med multiIndex

    df =pd.dataframe (data_2d, index =intervall (2), kolumner =index)

    tryck (df)

    åtkomst till data:

    utskrift ("\ naccesing element på lager1 ='a', lager2 ='x', rad 0:")

    tryck (df.loc [0, ('a', 'x')])

    åtkomst till en skiva:

    utskrift ("\ nAccessing all data för lager1 ='a':")

    tryck (df.loc [:, 'a'])

    #Ange ett nytt lager (lager3):

    #Behöver omstrukturera uppgifterna för detta

    new_data_3d =np.random.rand (2,3,4,2) #Added a Dimension

    new_data_2d =new_data_3d.reshape (2,12)

    matriser =[

    ['A', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b'], # lager 1

    ['X', 'y', 'x', 'y', 'x', 'y', 'x', 'y', 'x', 'y', 'x', 'y'] # lager 2

    , ['Z1', 'z1', 'z1', 'z1', 'z1', 'z1', 'z1', 'z1', 'z1', 'z1', 'z1', 'z1'] # lager 3

    ]

    tuples =lista (zip (*matriser)))

    index =pd.multiindex.from_tuples (tuples, names =['Layer1', 'Layer2', 'Layer3'])

    df_new =pd.dataframe (new_data_2d, index =intervall (2), kolumner =index)

    tryck ("\ ndataframe med ett nytt lager3:")

    tryck (df_new)

    `` `

    3. Använda en Dictionary of DataFrames:

    Detta är mindre effektivt än en multiindex men erbjuder mer flexibilitet för komplexa scenarier.

    `` `python

    data ={}

    för jag inom räckvidden (2):

    Data [i] =pd.dataframe (np.random.rand (3, 4))

    åtkomst till data:

    Skriv ut (data [0])

    `` `

    Att välja rätt tillvägagångssätt:

    * multiIndex: Bäst för de flesta fall erbjuder bra prestanda och effektiv datatillgång om din tredje dimension är relativt liten till måttlig.

    * Dictionary of DataFrames: Bättre om du har ett betydligt större antal "lager" i dina 3D -data eller om dina olika lager har mycket olika strukturer.

    Kom ihåg att noggrant överväga hur du kommer åt och manipulera dina data när de är strukturerade på ett av dessa sätt. Multiindex-metoden är i allmänhet att föredra på grund av dess effektivitet och de inbyggda kapaciteterna hos PANDAS för att arbeta med multiindexer. För mycket stora datasätt kan du överväga att använda DASK eller VAEX som är designade för beräkning utanför kärnan.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vad är modellering och hur görs det?
    ·De fem typiska komponenterna i ett fönster eller ett W…
    ·Vilka är de funktioner en mikroprocessor
    ·Hur testar jag för Gold Embrittlement
    ·Hur man tar bort skärmen på en ToughBook
    ·Vad är mainframe -datorhastigheten?
    ·Vad är Control M i Mainframe -tekniken?
    ·Vad är DDR2 1366 +
    ·Experiment i mikroprocessorer och Gränssnittskopplade
    ·Hur kan jag skapa och manipulera en PANDAS 3D -datafram…
    Utvalda artiklarna
    ·Hur du kopplar en Compaq Computer & Bluetooth
    ·Kan en Kindle användas utan 3G-täckning
    ·Hur man byter tangentbordet på en Toshiba Laptop
    ·Hur Ren Laser Toner
    ·Min dator Håller Frysning Efter att jag installerat en…
    ·Hur att rensa en Epson 1400
    ·Demontering Instruktioner för en Fujitsu Siemens Amilo…
    ·En dator RAM fungerar precis som lagringsutrymmet på h…
    ·Hur du sätter upp ett grafikkort fläkt
    ·Hur man gör en USB till Phono Cable Spec
    Copyright © Dator Kunskap https://www.dator.xyz