অর্ডারযুক্ত অভিধানগুলি সঠিকভাবে প্রিন্ট করার কোনও উপায়?


97

আমি পাইথনের পিপ্রিন্ট মডিউলটি পছন্দ করি। আমি এটি টেস্টিং এবং ডিবাগিংয়ের জন্য প্রচুর ব্যবহার করি। আমার টার্মিনাল উইন্ডোতে আউটপুট সুন্দরভাবে ফিট করে তা নিশ্চিত করতে আমি প্রায়শই প্রস্থ বিকল্পটি ব্যবহার করি।

এটি নতুন অর্ডার করা অভিধানের ধরণ যোগ না করা পর্যন্ত এটি কার্যকর হয়েছেপাইথন ২.7-তে ( যদি আমি কোনও অর্ডারযুক্ত অভিধানটি প্রিন্ট-প্রিন্ট করার চেষ্টা করি তবে এটি দুর্দান্তভাবে প্রদর্শিত হয় না। প্রতিটি কী-মান জোড়কে তার নিজস্ব লাইনে রাখার পরিবর্তে পুরো জিনিসটি একটি দীর্ঘ লাইনে প্রদর্শিত হয়, যা বহুবার মোড়ানো হয় এবং পড়া শক্ত হয় is

পুরানো অর্ডারড ডিকশনারিগুলির মতো এখানকার কারও কাছে কি এটিকে সুন্দরভাবে মুদ্রণ করার উপায় আছে? আমি সম্ভবত যথেষ্ট সময় ব্যয় করতে পারতপক্ষে PrettyPrinter.format পদ্ধতিটি ব্যবহার করে কিছু বুঝে উঠতে পারি, তবে আমি ভাবছি যে এখানকার কেউ ইতিমধ্যে সমাধান সম্পর্কে জানেন কিনা।

আপডেট: আমি এটির জন্য একটি বাগ রিপোর্ট দায়ের করেছি। আপনি এটি http://bugs.python.org/issue10592 এ দেখতে পারেন ।


উত্তর:


133

অস্থায়ী কর্মক্ষেত্র হিসাবে আপনি JSON ফর্ম্যাটে ডাম্পিং চেষ্টা করতে পারেন। আপনি কিছু প্রকারের তথ্য হারাতে পারেন তবে এটি দুর্দান্ত দেখায় এবং আদেশটি রাখে।

import json

pprint(data, indent=4)
# ^ugly

print(json.dumps(data, indent=4))
# ^nice

7
@scottmrogowski কেন কেবল না pprint.pprint(dict(data))?
Alfe

4
pprint.pprint(dict(data))আপনি কীগুলির ক্রমটির বিষয়ে চিন্তা না করলে ভাল কাজ করে। ব্যক্তিগতভাবে, আমি আশা করি এর __repr__জন্য OrderedDictআউটপুট তৈরি হবে তবে কীগুলির ক্রমটি সংরক্ষণ করা হবে।
ws_e_c421

9
@ আলফ যদি ডিক অর্ডারডিক্টসকে বাসা বেঁধে রাখে তবে সেগুলি সুন্দরভাবে প্রদর্শিত হবে না
ক্যাটসকুল

4
কী হিসাবে পূর্ণসংখ্যায় ব্যর্থ হয়
DimmuR

4
@ আলফা: কারণ তখন আউটপুট অর্ডার করা হয় না। অর্ডারডিক্ট প্রথম কারণেই ডকের পরিবর্তে ব্যবহৃত হয়, কারণ আদেশের বিষয়টি গুরুত্বপূর্ণ।
টেকিন

15

আপনার অর্ডারডিক্টের ক্রমটি একটি আলফা সাজানোর কারণে নিম্নলিখিতটি কাজ করবে, যেহেতু পি-প্রিন্ট প্রিন্টের আগে ডিক বাছাই করে।

pprint(dict(o.items()))

4
অর্ডারডিক্টস যেহেতু সন্নিবেশ আদেশের মাধ্যমে অর্ডার করা হয়েছে, সুতরাং এটি সম্ভবত ব্যবহারের একটি অল্প শতাংশের ক্ষেত্রে প্রযোজ্য। নির্বিশেষে, ওডিটিকে dictএকটিতে রূপান্তর করা সমস্ত কিছুকে একটি লাইনে স্থাপনের বিষয়টি এড়ানো উচিত।
মার্টিনিউ

9

pprint()অভ্যন্তরীণভাবে স্টক ফাংশনটিকে ওভাররাইড করে এবং ব্যবহার করে এখানে আরও একটি উত্তর দেওয়া হয়েছে । ভিন্ন আমার আগের এক এটি হবে হ্যান্ডেল OrderedDict'যেমন একটি হিসাবে অন্য ধারক ভিতরে গুলি listএবং প্রদত্ত কোন ঐচ্ছিক শব্দ আর্গুমেন্ট হ্যান্ডেল করতে সক্ষম হওয়া উচিত - তবে আউটপুট আছে যা অন্য এক afforded উপর নিয়ন্ত্রণের একই ডিগ্রী নেই।

এটি স্টক ফাংশনটির আউটপুটটিকে অস্থায়ী বাফারে পুনর্নির্দেশ করে এবং আউটপুট প্রবাহে প্রেরণের আগে শব্দটি মোড়কে পরিচালনা করে। উত্পাদিত চূড়ান্ত আউটপুটটি ব্যতিক্রমীভাবে সুন্দর না হলেও এটি শালীন এবং একটি কাজের হিসাবে ব্যবহার করার জন্য "যথেষ্ট ভাল" হতে পারে।

আপডেট 2.0

স্ট্যান্ডার্ড লাইব্রেরি textwrapমডিউল ব্যবহার করে সরলীকৃত এবং পাইথন 2 এবং 3 উভয় ক্ষেত্রেই সংশোধিত।

from collections import OrderedDict
try:
    from cStringIO import StringIO
except ImportError:  # Python 3
    from io import StringIO
from pprint import pprint as pp_pprint
import sys
import textwrap

def pprint(object, **kwrds):
    try:
        width = kwrds['width']
    except KeyError: # unlimited, use stock function
        pp_pprint(object, **kwrds)
        return
    buffer = StringIO()
    stream = kwrds.get('stream', sys.stdout)
    kwrds.update({'stream': buffer})
    pp_pprint(object, **kwrds)
    words = buffer.getvalue().split()
    buffer.close()

    # word wrap output onto multiple lines <= width characters
    try:
        print >> stream, textwrap.fill(' '.join(words), width=width)
    except TypeError:  # Python 3
        print(textwrap.fill(' '.join(words), width=width), file=stream)

d = dict((('john',1), ('paul',2), ('mary',3)))
od = OrderedDict((('john',1), ('paul',2), ('mary',3)))
lod = [OrderedDict((('john',1), ('paul',2), ('mary',3))),
       OrderedDict((('moe',1), ('curly',2), ('larry',3))),
       OrderedDict((('weapons',1), ('mass',2), ('destruction',3)))]

নমুনা আউটপুট:

pprint(d, width=40)

»   {'john': 1, 'mary': 3, 'paul': 2}

pprint(od, width=40)

» OrderedDict([('john', 1), ('paul', 2),
   ('mary', 3)])

pprint(lod, width=40)

» [OrderedDict([('john', 1), ('paul', 2),
   ('mary', 3)]), OrderedDict([('moe', 1),
   ('curly', 2), ('larry', 3)]),
   OrderedDict([('weapons', 1), ('mass',
   2), ('destruction', 3)])]


আমি চেষ্টা করেছিলাম এবং এটি কার্যকর। আপনি যেমন বলেছিলেন, এটি সবচেয়ে সুন্দর নয়, তবে এটি এখন পর্যন্ত দেখা সেরা সমাধান।
ইলিয়াস জামারিয়া

7

অর্ডার করা ডিক মুদ্রণ করতে, যেমন

from collections import OrderedDict

d=OrderedDict([
    ('a', OrderedDict([
        ('a1',1),
        ('a2','sss')
    ])),
    ('b', OrderedDict([
        ('b1', OrderedDict([
            ('bb1',1),
            ('bb2',4.5)])),
        ('b2',4.5)
    ])),
])

আমি করি

def dict_or_OrdDict_to_formatted_str(OD, mode='dict', s="", indent=' '*4, level=0):
    def is_number(s):
        try:
            float(s)
            return True
        except ValueError:
            return False
    def fstr(s):
        return s if is_number(s) else '"%s"'%s
    if mode != 'dict':
        kv_tpl = '("%s", %s)'
        ST = 'OrderedDict([\n'; END = '])'
    else:
        kv_tpl = '"%s": %s'
        ST = '{\n'; END = '}'
    for i,k in enumerate(OD.keys()):
        if type(OD[k]) in [dict, OrderedDict]:
            level += 1
            s += (level-1)*indent+kv_tpl%(k,ST+dict_or_OrdDict_to_formatted_str(OD[k], mode=mode, indent=indent, level=level)+(level-1)*indent+END)
            level -= 1
        else:
            s += level*indent+kv_tpl%(k,fstr(OD[k]))
        if i!=len(OD)-1:
            s += ","
        s += "\n"
    return s

print dict_or_OrdDict_to_formatted_str(d)

যা ফলন দেয়

"a": {
    "a1": 1,
    "a2": "sss"
},
"b": {
    "b1": {
        "bb1": 1,
        "bb2": 4.5
    },
    "b2": 4.5
}

বা

print dict_or_OrdDict_to_formatted_str(d, mode='OD')

যা ফলন দেয়

("a", OrderedDict([
    ("a1", 1),
    ("a2", "sss")
])),
("b", OrderedDict([
    ("b1", OrderedDict([
        ("bb1", 1),
        ("bb2", 4.5)
    ])),
    ("b2", 4.5)
]))

5

এখানে এমন একটি উপায় যা বাস্তবায়ন হ্যাক করে pprintpprintপ্রিন্টিংয়ের আগে কীগুলি বাছাই করে, যাতে অর্ডার সংরক্ষণের জন্য, আমাদের কীভাবে আমাদের চাই ঠিক তে বাছাই করতে হবে।

এই items()ফাংশন প্রভাবিত করে নোট করুন । সুতরাং আপনি প্রিন্ট করার পরে ওভাররাইড ফাংশনগুলি সংরক্ষণ এবং পুনরুদ্ধার করতে পারেন।

from collections import OrderedDict
import pprint

class ItemKey(object):
  def __init__(self, name, position):
    self.name = name
    self.position = position
  def __cmp__(self, b):
    assert isinstance(b, ItemKey)
    return cmp(self.position, b.position)
  def __repr__(self):
    return repr(self.name)

OrderedDict.items = lambda self: [
    (ItemKey(name, i), value)
    for i, (name, value) in enumerate(self.iteritems())]
OrderedDict.__repr__ = dict.__repr__

a = OrderedDict()
a[4] = '4'
a[1] = '1'
a[2] = '2'
print pprint.pformat(a) # {4: '4', 1: '1', 2: '2'}

4
দুর্দান্ত, তবে সাব টাইপ করা আরও ভাল তারপর ফাংশনগুলি ওভাররাইড করে।
xmedeko

3

অর্ডারডিক্টটি প্রিন্ট করার জন্য আমার পদ্ধতিটি এখানে

from collections import OrderedDict
import json
d = OrderedDict()
d['duck'] = 'alive'
d['parrot'] = 'dead'
d['penguin'] = 'exploded'
d['Falcon'] = 'discharged'
print(d)
print(json.dumps(d,indent=4))

OutPut:

OrderedDict([('duck', 'alive'), ('parrot', 'dead'), ('penguin', 'exploded'), ('Falcon', 'discharged')])

{
    "duck": "alive",
    "parrot": "dead",
    "penguin": "exploded",
    "Falcon": "discharged"
}

আপনি যদি সাজানো ক্রমে কীগুলির সাথে ডিকশনারি মুদ্রণ করতে চান

print(json.dumps(indent=4,sort_keys=True))
{
    "Falcon": "discharged",
    "duck": "alive",
    "parrot": "dead",
    "penguin": "exploded"
}

@ অ্যালেক্সওয়াল্লেজো আপনি হয়ত ব্যবহার করছেন python3। দয়া করে চেক করুন
চিন্তন ভাদগামা

2

এটি বেশ অপরিশোধিত, তবে কোনও স্বেচ্ছাসেবী ম্যাপিংস এবং ইটারেবলস নিয়ে গঠিত একটি ডেটা স্ট্রাকচারের ভিজ্যুয়ালাইজ করার জন্য আমার কেবল একটি উপায়ের প্রয়োজন ছিল এবং হাল ছেড়ে দেওয়ার আগে আমি এটাই সামনে নিয়ে এসেছি। এটি পুনরাবৃত্তিযোগ্য, সুতরাং এটি নেস্টেড কাঠামোগুলি এবং ঠিক সূক্ষ্ম তালিকার মধ্যে পড়বে fall আমি সংগ্রহের থেকে ম্যাপিং এবং আইটেবল অ্যাবস্ট্রাক্ট বেস ক্লাসগুলি প্রায় কোনও কিছু হ্যান্ডল করার জন্য ব্যবহার করেছি।

আমি সংক্ষিপ্ত পাইথন কোড সহ আউটপুটের মতো প্রায় ইয়ামলের জন্য লক্ষ্য রেখেছিলাম, তবে এটি বেশ তৈরি করে নি।

def format_structure(d, level=0):
    x = ""
    if isinstance(d, Mapping):
        lenk = max(map(lambda x: len(str(x)), d.keys()))
        for k, v in d.items():
            key_text = "\n" + " "*level + " "*(lenk - len(str(k))) + str(k)
            x += key_text + ": " + format_structure(v, level=level+lenk)
    elif isinstance(d, Iterable) and not isinstance(d, basestring):
        for e in d:
            x += "\n" + " "*level + "- " + format_structure(e, level=level+4)
    else:
        x = str(d)
    return x

এবং অর্ডারডিক্ট এবং অর্ডারডিক্টস এর তালিকা ব্যবহার করে কিছু পরীক্ষার ডেটা ... (শীশ পাইথনের অর্ডডিক্টের অক্ষরগুলি খারাপভাবে সুও দরকার ...)

d = OrderedDict([("main",
                  OrderedDict([("window",
                                OrderedDict([("size", [500, 500]),
                                             ("position", [100, 900])])),
                               ("splash_enabled", True),
                               ("theme", "Dark")])),
                 ("updates",
                  OrderedDict([("automatic", True),
                               ("servers",
                                [OrderedDict([("url", "http://server1.com"),
                                              ("name", "Stable")]),
                                 OrderedDict([("url", "http://server2.com"),
                                              ("name", "Beta")]),
                                 OrderedDict([("url", "http://server3.com"),
                                              ("name", "Dev")])]),
                               ("prompt_restart", True)])),
                 ("logging",
                  OrderedDict([("enabled", True),
                               ("rotate", True)]))])

print format_structure(d)

নিম্নলিখিত আউটপুট ফলন:

   main: 
               window: 
                         size: 
                             - 500
                             - 500
                     position: 
                             - 100
                             - 900
       splash_enabled: True
                theme: Dark
updates: 
            automatic: True
              servers: 
                     - 
                          url: http://server1.com
                         name: Stable
                     - 
                          url: http://server2.com
                         name: Beta
                     - 
                          url: http://server3.com
                         name: Dev
       prompt_restart: True
logging: 
       enabled: True
        rotate: True

ভাল প্রান্তিককরণের জন্য str.format () ব্যবহার করার পথে আমার কিছু চিন্তা ছিল, তবে এটি খননের মতো মনে হয়নি। আপনার যে ধরণের সারিবদ্ধতা চান তার উপর নির্ভর করে আপনাকে ক্ষেত্রের প্রস্থগুলি গতিশীলরূপে নির্দিষ্ট করতে হবে যা জটিল বা জটিল হয়ে উঠবে।

যাইহোক, এটি আমাকে পাঠযোগ্য পাঠ্যক্রমিক ফ্যাশনে আমার ডেটা দেখায়, যাতে এটি আমার পক্ষে কার্যকর হয়!


2
def pprint_od(od):
    print "{"
    for key in od:
        print "%s:%s,\n" % (key, od[key]) # Fixed syntax
    print "}"

আপনি সেখানে যান ^^

for item in li:
    pprint_od(item)

বা

(pprint_od(item) for item in li)

আমি এমন কোনও ফাংশন রাখার জন্য সন্ধান করছি যা অর্ডারডিক্টস পাশাপাশি অন্যান্য ধরণের প্রিন্ট করতে পারে। অর্ডারডিক্টসের একটি তালিকা বলুন, আমি কীভাবে আপনার ফাংশনটি প্রিন্ট-মুদ্রণে ব্যবহার করব।
ইলিয়াস জামারিয়ার

-1 pprint_od()ফাংশন না কাজ - for key, item in odএকটি বিবৃতি ফলাফল ValueError: too many values to unpack এবং শুধুমাত্র আউটপুট ইন্ডেন্টযুক্ত চূড়ান্ত " }" এবংkey, itemprintপ্রথম বন্ধনী করা বিবৃতি প্রয়োজন নেই। আপনি সেখানে যান
mar

2

আমি পাইথন 3.5 এ এই অপরিষ্কার বানর-প্যাচ ভিত্তিক হ্যাক পরীক্ষা করেছি এবং এটি কাজ করে:

pprint.PrettyPrinter._dispatch[pprint._collections.OrderedDict.__repr__] = pprint.PrettyPrinter._pprint_dict


def unsorted_pprint(data):
    def fake_sort(*args, **kwargs):
        return args[0]
    orig_sorted = __builtins__.sorted
    try:
        __builtins__.sorted = fake_sort
        pprint.pprint(data)
    finally:
        __builtins__.sorted = orig_sorted

আপনি pprintসাধারণ ডিক ভিত্তিক সংক্ষিপ্তসারটি ব্যবহার করেন এবং কলটির সময়কালের জন্য বাছাই নিষ্ক্রিয় করে যাতে কোনও কী কী মুদ্রণের জন্য বাছাই করা যায় না।


আপনি কেবল pretty_print.pyস্থানীয় মডিউল হিসাবে অনুলিপি করতে এবং এটি হ্যাক করতে পারেন ( sortedকল বা আপনি যা চান তা অপসারণ )
কার্ল রোজেন

2

পাইথন ৩.৮ অনুসারে: কীওয়ার্ড প্যারামিটারটি pprint.PrettyPrinterপ্রকাশ করে sort_dicts

ডিফল্টরূপে সত্য , এটিকে মিথ্যা হিসাবে সেট করা অভিধানটিকে অকার্যকর করে ফেলেছে।

>>> from pprint import PrettyPrinter

>>> x = {'John': 1,
>>>      'Mary': 2,
>>>      'Paul': 3,
>>>      'Lisa': 4,
>>>      }

>>> PrettyPrinter(sort_dicts=False).pprint(x)

আউটপুট দেবে:

{'John': 1, 
 'Mary': 2, 
 'Paul': 3,
 'Lisa': 4}

তথ্যসূত্র: https://docs.python.org/3/library/pprint.html


1

pprint()পদ্ধতিটি কেবল এতে __repr__()থাকা জিনিসগুলির পদ্ধতিটিই উপস্থাপন করছে এবংOrderedDict এটা পদ্ধতিতে অনেক কিছু বলে মনে হয় না (অথবা এক বা কিছু আছে না)।

এখানে একটি সস্তার সমাধানের কাজ করা উচিত যদি আপনি পিপিআরিন্ট আউটপুটে দৃষ্টিভঙ্গি করা অর্ডার সম্পর্কে যত্নবান হন না , যা বড় হতে পারে যদি:

class PrintableOrderedDict(OrderedDict):
    def __repr__(self):
        return dict.__repr__(self)

আমি আশ্চর্য হয়েছি যে অর্ডারটি সংরক্ষণ করা হয়নি ... আহা ভাল।


একটি পাইথন অভিধান হ্যাশম্যাপ ব্যবহার করে প্রয়োগ করা হয়। অতএব, আপনি একবার অর্ডারডিক্ট (একটি মৌলিক ডিক এবং অর্ডার সংরক্ষণের জন্য একটি তালিকার সংমিশ্রণ) একটি ডিককে রূপান্তরিত করলে আপনি কোনও আদেশের তথ্য হারাবেন। তদ্ব্যতীত, repr পদ্ধতিতে একটি স্ট্রিং ফেরত আসার কথা যা পাইথন কোডে অবজেক্টটি উপস্থাপন করে। অন্য কথায়, আপত্তি == এভাল (পুনরায় (আপত্তি)), বা, সর্বনিম্ন repr (আপত্তি) == পুনরায় (ইভাল (পুনরায় (আপত্তি))) অর্ডারডিক্টের রেপর এটি ঠিকঠাক করে। ডিক .__ repr__ আপনাকে একটি খুব মানব পাঠযোগ্য উপস্থাপনা দেওয়া ডিক আক্ষরিক ('{' এবং '}', ইত্যাদি) এর সম্পূর্ণ পার্শ্ব প্রতিক্রিয়া। অর্ডারডিক্টের কাছে এটি নেই।
mar7575

1

আপনি কেজেউজের উত্তরের এই সরলীকরণটিও ব্যবহার করতে পারেন :

pprint(data.items(), indent=4)

এটি অর্ডার সংরক্ষণ করে এবং ওয়েবওয়ার্স্ট উত্তরের ( জসন ডাম্পের মাধ্যমে মুদ্রণ ) প্রায় একই রকম আউটপুট দেয় ।


1

অজগরটির জন্য <3.8 (উদাহরণস্বরূপ 3.6):

বানর প্যাচ pprint's sortedযাতে এটা বাছাই থেকে বিরত হবে। এটি পুনরাবৃত্তভাবে কাজ করার সাথে সাথে সমস্ত কিছুর সুবিধা পাবে এবং jsonযার জন্য যেমন widthপ্যারামিটার ব্যবহার করা প্রয়োজন তার বিকল্পের চেয়ে উপযুক্ত :

import pprint
pprint.sorted = lambda arg, *a, **kw: arg

>>> pprint.pprint({'z': 1, 'a': 2, 'c': {'z': 0, 'a': 1}}, width=20)
{'z': 1,
 'a': 2,
 'c': {'z': 0,
       'a': 1}}

সম্পাদনা: পরিষ্কার করা

এই নোংরা ব্যবসায়টি চালানোর পরে কেবল চালানো: pprint.sorted = sorted

সত্যিকারের পরিষ্কার সমাধানের জন্য একটি প্রসঙ্গ পরিচালকও ব্যবহার করতে পারেন:

import pprint
import contextlib

@contextlib.contextmanager
def pprint_ordered():
    pprint.sorted = lambda arg, *args, **kwargs: arg
    yield
    pprint.sorted = sorted

# usage:

with pprint_ordered():
    pprint.pprint({'z': 1, 'a': 2, 'c': {'z': 0, 'a': 1}}, width=20)

# without it    
pprint.pprint({'z': 1, 'a': 2, 'c': {'z': 0, 'a': 1}}, width=20)

# prints: 
#    
# {'z': 1,
#  'a': 2,
#  'c': {'z': 0,
#        'a': 1}}
#
# {'a': 2,
#  'c': {'a': 1,
#        'z': 0},
#  'z': 1}

0

এর pprint()কলগুলির জন্য আপনি পুনরায় সংজ্ঞা দিতে এবং বিরতি দিতে পারবেন OrderedDict। এখানে একটি সাধারণ চিত্র। লিখিত হিসাবে, OrderedDictওভাররাইড কোড কোন ঐচ্ছিক উপেক্ষা করে stream, indent, width, অথবা depthযে কীওয়ার্ড পাস করা হয়ে থাকতে পারে, কিন্তু তাদের বাস্তবায়ন উন্নত করা যেতে পারে। দুর্ভাগ্যবশত, এই কৌশল যেমন একটি হিসাবে অন্য ধারক ভিতরে তাদের হ্যান্ডেল নয়, listএর OrderDictএর

from collections import OrderedDict
from pprint import pprint as pp_pprint

def pprint(obj, *args, **kwrds):
    if not isinstance(obj, OrderedDict):
        # use stock function
        return pp_pprint(obj, *args, **kwrds)
    else:
        # very simple sample custom implementation...
        print "{"
        for key in obj:
            print "    %r:%r" % (key, obj[key])
        print "}"

l = [10, 2, 4]
d = dict((('john',1), ('paul',2), ('mary',3)))
od = OrderedDict((('john',1), ('paul',2), ('mary',3)))
pprint(l, width=4)
# [10,
#  2,
#  4]
pprint(d)
# {'john': 1, 'mary': 3, 'paul': 2}

pprint(od)
# {
#     'john':1
#     'paul':2
#     'mary':3
# }

0

অভিধানের আইটেমগুলি যদি এক প্রকারের হয় তবে আপনি আশ্চর্যজনকভাবে ডেটা হ্যান্ডলিং গ্রন্থাগারটি ব্যবহার করতে পারেন pandas:

>>> import pandas as pd
>>> x = {'foo':1, 'bar':2}
>>> pd.Series(x)
bar    2
foo    1
dtype: int64

বা

>>> import pandas as pd
>>> x = {'foo':'bar', 'baz':'bam'}
>>> pd.Series(x)
baz    bam
foo    bar
dtype: object

4
এই কোডটি কী করবে? এখানে অন্যান্য সমাধানগুলির তুলনায় এর কী সুবিধা রয়েছে?
ইলিয়াস জামারিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.