pandas 0.23 - pandas.io.json.json_normalize()

pandas.io.json.json_normalize




pandas

pandas.io.json.json_normalize

pandas.io.json.json_normalize(data, record_path=None, meta=None, meta_prefix=None, record_prefix=None, errors='raise', sep='.')

एक फ्लैट टेबल में अर्ध-संरचित JSON डेटा को "सामान्यीकृत करें"

पैरामीटर:

डेटा : तानाशाही या dicts की सूची

अज्ञात JSON ऑब्जेक्ट्स

record_path : स्ट्रिंग या स्ट्रिंग की सूची, डिफ़ॉल्ट कोई नहीं

अभिलेखों की सूची के लिए प्रत्येक ऑब्जेक्ट में पथ। यदि पारित नहीं हुआ है, तो डेटा को रिकॉर्ड की एक सरणी माना जाएगा

मेटा : पथों की सूची (स्ट्रिंग या स्ट्रिंग की सूची), डिफ़ॉल्ट कोई नहीं

परिणामी तालिका में प्रत्येक रिकॉर्ड के लिए मेटाडेटा के रूप में उपयोग करने के लिए फ़ील्ड

record_prefix : string, default कोई नहीं

यदि सही है, तो डॉटेड (?) पथ के साथ उपसर्ग रिकॉर्ड, उदाहरण के लिए foo.bar.field यदि रिकॉर्ड करने का मार्ग है ['फू', 'बार']।

meta_prefix : string, default None

त्रुटियाँ : {'उठाना', 'अनदेखा करना'}, डिफ़ॉल्ट 'उठाना'

  • 'नजरअंदाज': कीयर को नजरअंदाज करेगा यदि मेटा में सूचीबद्ध कीज हमेशा मौजूद नहीं होती हैं
  • 'बढ़ाएँ': KeyError को बढ़ाएगा यदि मेटा में सूचीबद्ध कुंजियाँ हमेशा मौजूद न हों

संस्करण में नया 0.20.0।

sep : स्ट्रिंग, डिफ़ॉल्ट '।'

नेस्टेड रिकॉर्ड sep = '।', {'Foo': {'bar': 0}} -> foo.bar द्वारा sep द्वारा अलग किए गए नाम उत्पन्न करेगा।

संस्करण में नया 0.20.0।

यह दिखाता है:
frame : DataFrame

उदाहरण

>>> from pandas.io.json import json_normalize
>>> data = [{'id': 1, 'name': {'first': 'Coleen', 'last': 'Volk'}},
...         {'name': {'given': 'Mose', 'family': 'Regner'}},
...         {'id': 2, 'name': 'Faye Raker'}]
>>> json_normalize(data)
    id        name name.family name.first name.given name.last
0  1.0         NaN         NaN     Coleen        NaN      Volk
1  NaN         NaN      Regner        NaN       Mose       NaN
2  2.0  Faye Raker         NaN        NaN        NaN       NaN
>>> data = [{'state': 'Florida',
...          'shortname': 'FL',
...          'info': {
...               'governor': 'Rick Scott'
...          },
...          'counties': [{'name': 'Dade', 'population': 12345},
...                      {'name': 'Broward', 'population': 40000},
...                      {'name': 'Palm Beach', 'population': 60000}]},
...         {'state': 'Ohio',
...          'shortname': 'OH',
...          'info': {
...               'governor': 'John Kasich'
...          },
...          'counties': [{'name': 'Summit', 'population': 1234},
...                       {'name': 'Cuyahoga', 'population': 1337}]}]
>>> result = json_normalize(data, 'counties', ['state', 'shortname',
...                                           ['info', 'governor']])
>>> result
         name  population info.governor    state shortname
0        Dade       12345    Rick Scott  Florida        FL
1     Broward       40000    Rick Scott  Florida        FL
2  Palm Beach       60000    Rick Scott  Florida        FL
3      Summit        1234   John Kasich     Ohio        OH
4    Cuyahoga        1337   John Kasich     Ohio        OH
>>> data = {'A': [1, 2]}
>>> json_normalize(data, 'A', record_prefix='Prefix.')
    Prefix.0
0          1
1          2