পান্ডাস ডাটাফ্রেম থেকে বাইনারি এনকোড মাল্টি-মূল্যবান শ্রেণিবদ্ধ পরিবর্তনশীল কিভাবে?


9

মনে করুন নির্দিষ্ট কলামের জন্য আমাদের একাধিক মান সহ নিম্নলিখিত ডেটাফ্রেম রয়েছে:

    categories
0 - ["A", "B"]
1 - ["B", "C", "D"]
2 - ["B", "D"]

আমরা কীভাবে এইভাবে একটি টেবিল পেতে পারি?

   "A"  "B"  "C"  "D"
0 - 1    1    0    0
1 - 0    1    1    1
2 - 0    1    0    1

দ্রষ্টব্য: আমার অগত্যা একটি নতুন ডেটাফ্র্যামের দরকার নেই, আমি ভাবছি যে কীভাবে এই জাতীয় ডেটা ফ্রেমগুলি মেশিন শেখার জন্য আরও উপযুক্ত বিন্যাসে রূপান্তর করা যায়।

উত্তর:


7

যদি [0, 1, 2]সংখ্যার লেবেল হয় এবং সূচক না হয়, তবে pandas.DataFrame.pivot_tableকাজ করে:

ভিতরে []:
ডেটা = পিডি.ডাটাফ্রেম.ফর্ম_েকর্ডস (
    [[০, 'এ'], [০, 'বি'], [১, 'বি'], [১, 'সি'], [১, 'ডি'], [২, 'বি'], [ 2, 'ডি']],
    কলামগুলি = [['সংখ্যা_প্রেমিক', 'বিভাগ'])
ডেটা.পাইভট_টিটেবল (সূচক = ['সংখ্যা_লবেল'], কলাম = ['বিভাগ'], অগ্ফুঙ্ক = [লেন], পূরণ_মূল্য = 0)
আউট []:
              লেন
বিভাগ এবিসিডি
number_label                       
0 1 1 0 0
1 0 1 1 1
2 0 1 0 1

এই ব্লগ পোস্টটি সহায়ক ছিল: http://pbpython.com/pandas-pivot-table-explained.html


যদি [0, 1, 2]সূচক হয়, তবে collections.Counterদরকারী:

ভিতরে []:
ডেটা 2 = পিডি.ডাটা ফ্রেম.ফর্ম_ডিক্ট (
    categories 'বিভাগ': {0: ['এ', 'বি'], ১: ['বি', 'সি', 'ডি'], ২: ['বি', 'ডি']}})
ডেটা 3 = ডেটা 2 ['বিভাগ'] apply প্রয়োগ করুন (সংগ্রহসমূহ C
pd.DataFrame.from_records (data3) .fillna (মান = 0)
আউট []:
       এ বি সি ডি
0 1 1 0 0
1 0 1 1 1
2 0 1 0 1

ধন্যবাদ, আমি এটি পরীক্ষা করে দেখুন। আসলে, 0, 1 এবং 2 হল সূচক। এছাড়াও, প্রচুর জিরো থাকায় এখানে কীভাবে দক্ষতার সাথে দক্ষতার সাথে পরিচালনা করা যায় তার কোনও ধারণা আছে?
ডেনিস এল

পান্ডা এবং স্কিপি উভয়েরই মেমরি সংরক্ষণের জন্য স্পার্স ডেটা স্ট্রাকচার ( পান্ডাস স্পার্স , স্কিপি স্পার্স ) রয়েছে তবে তারা আপনার ব্যবহার করা মেশিন লার্নিং লাইব্রেরি দ্বারা সমর্থিত হতে পারে না। যদি আপনার সমস্যার মাত্রিকতা (কলামগুলির সংখ্যা) এত বেশি হয় যে বিরল উপস্থাপনা প্রয়োজনীয় হয় তবে আপনি মাত্রিকতা হ্রাস কৌশলগুলিও বিবেচনা করতে চাইতে পারেন ।
স্যামুয়েল হ্যারল্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.