Yakagadziriswa: pandas ijoinha isiri-yakasarudzika

Pandas raibhurari yePython inoshandiswa zvakanyanya mumunda wekugadzirisa data uye kuongorora. Inopa zvimiro zve data uye mabasa anodiwa kuti ushande nedata rakarongeka zvisina musono. Chimwe chezvizhinji zvazvinopa kugona kujoinha matafura ane makiyi asina-akasarudzika, izvo zvinogona kuve zvinodikanwa zvakajairika mumashandisirwo anoshanda. Muchinyorwa chino, isu tichanyura mumhinduro kudambudziko iri, tiongorore nhanho-nhanho tsananguro yekodhi inoshandiswa kujoinha pandas DataFrame zvinhu nemakiyi asiri akasiyana, uye kukurukura maraibhurari nemabasa anobatanidzwa mukuita uku.

ziviso

Kujoinha matafura ibasa rakakosha rinoitwa mukugadzirisa data uye kuongorora mabasa. Mune mamwe mamiriro ezvinhu, tinogona kudikanwa kuti tibatanidze matafura pakiyi isiri-yakasarudzika, iyo inogona kuunza matambudziko. Nekudaro, kushanda neraibhurari yePython ine simba, pandas, inotibvumira kugadzirisa dambudziko iri zvine hungwaru tichishandisa mashandiro ayo anochinjika.

Kujoinha Pandas DataFrames ine Non-Unique Keys

Kubatana neDataFrames mupandas, tinogona kushandisa iyo `merge()` basa, rinotsigira kujoinha pane asiri akasiyana makiyi. Nekudaro, zvakakosha kuti unzwisise kuti mhedzisiro yekujoinha zvisiri-yakasarudzika makiyi anogona kunge akasiyana pane aitarisirwa, sezvo achigona kutungamira kune chigadzirwa che cartesian, zvichigona kukonzera kuwedzera kukuru kwenhamba yemitsara mune inoguma DataFrame.

Heino nhanho-ne-nhanho gwara rekushandisa iyo `merge()` basa rekubatanidza DataFrames nemakiyi asina akasiyana:

import pandas as pd

# Create sample DataFrames
df1 = pd.DataFrame({"key": ["A", "B", "A", "C"], "value": [1, 2, 3, 4]})
df2 = pd.DataFrame({"key": ["A", "B", "A", "D"], "value2": [5, 6, 7, 8]})

# Perform the merge operation
result = df1.merge(df2, on="key", how="inner")

Mumuenzaniso uri pamusoro, isu tinotanga kupinza pandas raibhurari uye tinogadzira maviri emuenzaniso DataFrames (df1 uye df2). Zvadaro, isu tinoshandisa iyo `merge()` basa rekubatanidza iyo DataFrames pane "kiyi" column, iyo ine isina-yakasarudzika tsika (A uye B inodzokororwa). Iyo `how` parameter yakaiswa ku "mukati", sezvo isu tichida kuchengeta chete mitsara ine makiyi anoenderana mune ese maDataFrames.

Kunzwisisa Pandas Merge Basa

Iyo `merge()` basa mupandas chishandiso chine simba uye chinochinjika kuita tafura yekujoinha mashandiro. Pamusoro pekujoinha maDataFrames nemakiyi asina-akasarudzika, inotsigira akasiyana mazinga ekugadzirisa, achikubvumidza iwe kuve nekutonga kwakazara pamusoro peinoguma DataFrame.

Iko `merge()` basa rine akati wandei akakosha paramita akadai se:

  • ruboshwe uye rudyi: Aya ndiwo maDataFrames kuti abatanidzwe.
  • on: Iyo column(s) inofanirwa kushandiswa kujoinha iyo DataFrames. Iri rinogona kunge riri zita rekoramu rimwechete kana runyoro rwemazita emakoroni paunenge uchijoinha pamakoramu akawanda.
  • sei: Inotsanangura mhando yekujoinha kunofanirwa kuitwa. Sarudzo dzinosanganisira 'kuruboshwe', 'kurudyi', 'kunze', uye 'mukati'. Iyo yakasarudzika ndeye 'mukati'.
  • zvirevo: Iyi ituple yetambo suffixes yekushandisa kumakoramu anopindirana. Iyo yakasarudzika suffix ndeye _x yekuruboshwe DataFrame uye _y yekurudyi DataFrame.

Aya ma paramita anogona kukwenenzverwa maererano nezvaunoda kuti uite akasiyana marudzi ekujoinha mashandiro uye kugadzirisa zvinobuda.

Zvakafanana Mabasa muPandas

Kunze kweiyo `merge()` basa, pandas inopawo mamwe mabasa ekubatanidza DataFrames nenzira dzakasiyana, dzakadai se:

  • concat(): Iri basa rinoshandiswa kubatanidza DataFrames pamwe chete neimwe axis. Iwe unogona kudzora concatenation nekutsanangura akasiyana ma paramita senge axis, kujoinha, uye makiyi.
  • batanidza (): Iyi inzira iri nyore inowanikwa pane DataFrame zvinhu kuita majoin operations. Icho chakanyanya kuputira chakatenderedza merge () basa, nekuruboshwe DataFrame ichifungidzirwa seanofona DataFrame.

Mukupedzisa, nekushandisa pandas `merge()` basa, unogona nyore kujoinha DataFrames nemakiyi asina-akasarudzika. Iyo yakapfuma seti yemaparamita anowanikwa mu `merge()` basa rinopa kutonga kwakazara pamusoro pekujoinha maitiro, kugovera kune akasiyana manomapulation data. Iyo raibhurari yepandas inoramba iri chishandiso chakakosha kune vanoongorora data uye inopa mamwe akasiyana mabasa kusanganisa uye kushandisa DataFrames zvakanaka.

Related posts:

Leave a Comment