DataFrame स्तंभ के लिए वैध मान निर्दिष्ट के बाद खाली रहता है

वोट
0

मैं dataframe ऑपरेशन के बारे में भ्रम की स्थिति है कि एक पाश की कुछ वस्तुओं के लिए काम करने के लिए प्रतीत नहीं होता है का एक बहुत में हूँ और मैं क्यों समझ में नहीं आता।

मैं इन शब्दकोशों के सभी के माध्यम से उपलब्ध आदि मैं पाश पर विवरण के साथ अपार्टमेंट के एक नंबर के लिए एक json की तरह शब्दकोश है और एक अस्थायी dataframe को मान निर्दिष्ट करते। तब मैं आदेश एक भी df में सभी अपार्टमेंट जानकारी है में समग्र dataframe df के लिए अस्थायी dataframe जोड़ देते हैं।

और 'बिस्तर प्रकार' - उपधारा 'बेडरूम' के लिए मैं इस तरह के 'y / n निजी बाथरूम' के रूप में विवरण का उपयोग करना चाहते हैं। यह सबसे अपार्टमेंट के लिए काम करता है, लेकिन कुछ अपार्टमेंट के लिए यह सिर्फ dataframe को ठीक से मान निर्दिष्ट नहीं करता है - dataframe खाली रहता है। क्या मैं इस बारे में समझ में नहीं आता कि चर ही सही ढंग से दिया जाता है।

यहाँ एक उदाहरण है:

इसलिए तरह खाली df_bedroom को बिस्तर प्रकार नियत:

  if bedroom_dict['subunits'] is not None:
            df_bedroom['bedroom_bed_type'] = bedroom_dict['subunits'][0]['type_code']
        else:
            df_bedroom['bedroom_bed_type'] = None

... रिटर्न सही स्तंभ लेबल के साथ एक खाली dataframe: यहाँ

हालांकि, कोड में ही पूरी तरह से ठीक काम कर रहा है:

 In[133]: bedroom_dict['subunits'][0]['type_code']
    Out[134]: 'double-bed'

यहाँ भी है bedroom_dict:

[{'units': [{'id': 'e97d2133-4169-47b0-9419-509d4e9b130e',
         'type_code': 'kitchen',
         'features': [{'Code': 'chairs', 'Exists': True},
          {'Code': 'window', 'Exists': False},
          {'Code': 'balcony', 'Exists': True},
          {'Code': 'fridge', 'Exists': True},
          {'Code': 'freezer', 'Exists': True},
          {'Code': 'stove', 'Exists': True},
          {'Code': 'oven', 'Exists': True},
          {'Code': 'microwave', 'Exists': True},
          {'Code': 'washing-machine', 'Exists': True},
          {'Code': 'dryer', 'Exists': False},
          {'Code': 'dishwasher', 'Exists': True},
          {'Code': 'dishes-cutlery', 'Exists': False},
          {'Code': 'pots-pans', 'Exists': False},
          {'Code': 'table', 'Exists': True}],
         'subunits': None},
        {'id': '81115b60-2f42-4a5d-b8ee-e59cbd9405dc',
         'type_code': 'bathroom',
         'features': [{'Code': 'window', 'Exists': True},
          {'Code': 'toilet', 'Exists': True},
          {'Code': 'sink', 'Exists': True},
          {'Code': 'bathtub', 'Exists': True},
          {'Code': 'shower', 'Exists': False}],
         'subunits': None},
        {'id': '6e221089-ca2e-4ab9-9458-dcbfc877d7c4',
         'type_code': 'bedroom',
         'features': [{'Code': 'wardrobe', 'Exists': True},
          {'Code': 'desk', 'Exists': False},
          {'Code': 'chairs', 'Exists': False},
          {'Code': 'sofa', 'Exists': False},
          {'Code': 'window', 'Exists': True},
          {'Code': 'balcony', 'Exists': True},
          {'Code': 'tv', 'Exists': False},
          {'Code': 'lock', 'Exists': True}],
         'subunits': [{'id': 'f7e80f2d-357d-48c9-98e2-db04b598dc56',
           'type_code': 'single-bed',
           'features': None},
          {'id': 'd28fe587-3edf-47a4-a5fc-ba9a44359642',
           'type_code': 'single-bed',
           'features': None}]}

कई ऐसे मामलों जबकि अन्य मामलों के लिए यह पूरी तरह से ठीक काम करता है, कर रहे हैं। क्यों एक मूल्य / स्ट्रिंग का काम dataframe इस मामले में काम नहीं कर रहा है किसी को भी व्याख्या कर सकते हैं?

शुभकामनाएँ, हन्ना

07/11/2018 को 23:47
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

मैं समझता हूँ कि तुम क्या करने की कोशिश कर रहे हैं। कैसे प्रत्येक "सबयूनिट" से "type_code" को निकालने और एक स्तंभ के रूप में यह बताए के बारे में?

पहले, आप अपने खाली DataFrame है।

df = pd.DataFrame(columns=['bedroom_bed_type'])
print(df)
Empty DataFrame
Columns: [bedroom_bed_type]
Index: []

और अब, निकालने एक सूची समझ का उपयोग करते हुए और एक नया स्तंभ के रूप में DataFrame को यह वापस आवंटित।

df['bedroom_bed_type'] =  [x['type_code'] for x in bedroom_dict['subunits']]
print(df) 
  bedroom_bed_type
0       double-bed
1         bathroom
08/11/2018 को 00:16
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more