मैं वर्तमान में अल्टेयर की मानचित्र विशेषता सीख रहा हूं और उदाहरणों में से एक को देख रहा हूं (https:// altair-viz.github.io/gallery/airport_connections.html), मैंने देखा कि डेटासेट (airports.csv और flight-airport.csv) में पंक्तियों की संख्या अलग-अलग होती है। क्या ऐसा होने पर भी ट्रांसफॉर्म_लुकअप लागू करना संभव है?

2
joe-miguel 11 अक्टूबर 2020, 07:44

1 उत्तर

सबसे बढ़िया उत्तर

हां, अलग-अलग पंक्तियों वाले डेटासेट पर transform_lookup लागू करना संभव है। लुकअप एक निर्दिष्ट कुंजी कॉलम के आधार पर एक तरफा जुड़ाव में बदल जाता है: चाहे प्रत्येक डेटासेट में कितनी भी पंक्तियाँ हों, मुख्य डेटासेट की प्रत्येक पंक्ति के लिए, लुकअप डेटा में पहला मिलान डेटा से जुड़ जाता है।

इसे प्रदर्शित करने के लिए एक सरल उदाहरण:

import altair as alt
import pandas as pd

df1 = pd.DataFrame({
    'key': ['A', 'B', 'C'],
    'x': [1, 2, 3]
})

df2 = pd.DataFrame({
    'key': ['A', 'B', 'C', 'D'],
    'y': [1, 2, 3, 4]
})

alt.Chart(df1).transform_lookup(
  lookup='key',
  from_=alt.LookupData(df2, key='key', fields=['y'])    
).mark_bar().encode(
    x='x:Q',
    y='y:O',
    color='key:N'
)

enter image description here

अधिक जानकारी लुकअप ट्रांसफ़ॉर्म डॉक्स में उपलब्ध है।

1
jakevdp 12 अक्टूबर 2020, 03:32