Pandas.qcut এবং pandas.cut এর মধ্যে পার্থক্য কী?


97

নথি বলছে:

http://pandas.pydata.org/pandas-docs/dev/basics.html

"অবিচ্ছিন্ন মানগুলি কাটা (মানগুলির উপর ভিত্তি করে বিন) এবং কিউকুট (নমুনা কোয়ান্টাইলের ভিত্তিতে বিনগুলি) ফাংশন ব্যবহার করে পৃথক করা যায়"

আমার কাছে খুব বিমূর্ত মনে হচ্ছে ... আমি নীচের উদাহরণের মধ্যে পার্থক্যগুলি দেখতে পাচ্ছি তবে কিউকুট (নমুনা কোয়ান্টাইল) আসলে / মানে কী? আপনি কখন কুইকুট বনাম কাট ব্যবহার করবেন?

ধন্যবাদ

factors = np.random.randn(30)

In [11]:
pd.cut(factors, 5)
Out[11]:
[(-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (0.575, 1.561], ..., (-0.411, 0.575], (-1.397, -0.411], (0.575, 1.561], (-2.388, -1.397], (-0.411, 0.575]]
Length: 30
Categories (5, object): [(-2.388, -1.397] < (-1.397, -0.411] < (-0.411, 0.575] < (0.575, 1.561] < (1.561, 2.547]]

In [14]:
pd.qcut(factors, 5)
Out[14]:
[(-0.348, 0.0899], (-0.348, 0.0899], (0.0899, 1.19], (0.0899, 1.19], (0.0899, 1.19], ..., (0.0899, 1.19], (-1.137, -0.348], (1.19, 2.547], [-2.383, -1.137], (-0.348, 0.0899]]
Length: 30
Categories (5, object): [[-2.383, -1.137] < (-1.137, -0.348] < (-0.348, 0.0899] < (0.0899, 1.19] < (1.19, 2.547]]`

উত্তর:


223

শুরু করার জন্য, নোট করুন যে কোয়ান্টাইলগুলি পার্সেন্টাইলস, কোয়ার্টাইলস এবং মিডিয়ানদের মতো জিনিসগুলির জন্য সর্বাধিক সাধারণ শব্দ। আপনি আপনার উদাহরণে পাঁচটি বিনকে নির্দিষ্ট করেছেন, তাই আপনি qcutকুইন্টাইলের জন্য জিজ্ঞাসা করছেন।

সুতরাং, আপনি যখন কুইন্টাইলগুলির সাথে জিজ্ঞাসা করবেন, তখন বিনগুলি qcutনির্বাচন করা হবে যাতে প্রতিটি বাকীতে আপনার একই সংখ্যার রেকর্ড থাকে। আপনার কাছে 30 টি রেকর্ড রয়েছে, সুতরাং প্রতিটি বাক্সে 6 টি হওয়া উচিত (আপনার আউটপুটটি এ জাতীয় হওয়া উচিত, যদিও এলোমেলো ড্রয়ের কারণে ব্রেকপয়েন্টগুলি পৃথক হবে):

pd.qcut(factors, 5).value_counts()

[-2.578, -0.829]    6
(-0.829, -0.36]     6
(-0.36, 0.366]      6
(0.366, 0.868]      6
(0.868, 2.617]      6

বিপরীতে, cutআপনি আরও অসম কিছু দেখতে পাবেন:

pd.cut(factors, 5).value_counts()

(-2.583, -1.539]    5
(-1.539, -0.5]      5
(-0.5, 0.539]       9
(0.539, 1.578]      9
(1.578, 2.617]      2

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


এটি কি জন্য দুর্দান্ত উত্তর । আপনি কেন একে অপরকে বেছে নেবেন তা বলতে পারেন ?
জেমস হালস

5
@ জামেসহুলস এটি একটি ন্যায্য প্রশ্ন তবে আমার কাছে সাধারণ উত্তর নেই। এটি নির্ভর করে যে আপনি কোনও পরম্পরা বনাম কোনও আপেক্ষিক (কোয়ান্টাইল) পরিমাপের চেয়ে অন্য কোনও কিছুর চেয়ে বেশি খুঁজছেন কিনা তার উপর নির্ভর করে। উচ্চতা বিবেচনা করুন, উদাহরণস্বরূপ: আপনি আপেক্ষিক উচ্চতায় ( cutqcut
f

19
  • কাট কমান্ড সমতুল্য বিনগুলি তৈরি করে তবে প্রতিটি বিনের নমুনার ফ্রিকোয়েন্সি অসম
  • qcut কমান্ড অসম আকারের বিনগুলি তৈরি করে তবে প্রতিটি বিনের মধ্যে নমুনার ফ্রিকোয়েন্সি সমান।

এখানে চিত্র বর্ণনা লিখুন

    >>> x=np.array([24,  7,  2, 25, 22, 29])
    >>> x
    array([24,  7,  2, 25, 22, 29])

    >>> pd.cut(x,3).value_counts() #Bins size has equal interval of 9
    (2, 11.0]        2
    (11.0, 20.0]     0
    (20.0, 29.0]     4

    >>> pd.qcut(x,3).value_counts() #Equal frequecy of 2 in each bins
    (1.999, 17.0]     2
    (17.0, 24.333]    2
    (24.333, 29.0]    2

4
এক্স, বিনস = পিডি.কুট (তালিকা_আর_মূল্যগুলি, বিনগুলি = 10, লেবেলগুলি = তালিকা (পরিসর (10,0, -1)), রেটবিনস = সত্য) এই
বিনগুলি

9

সুতরাং কিউকুট প্রতিটি বিনের মানগুলির আরও বেশি বিতরণ নিশ্চিত করে এমনকি তারা নমুনা স্থানে ক্লাস্টার করলেও। এর অর্থ আপনার কাছে খুব কাছের মানগুলির সাথে একটি ডেটা পূর্ণ বিন এবং 0 মান সহ অন্য একটি বিনের সম্ভাবনা কম। সাধারণভাবে, এটি আরও ভাল নমুনা।


-1

পিডি.কিউকুট ((অ্যারেতে নং-এর উপাদানগুলি) / (বিনয়ের সংখ্যা - 1)) ভিত্তিতে বিভাগ তৈরি করার জন্য একটি অ্যারের উপাদানগুলি বিতরণ করে, তবে এইটিকে আরও অনেক ভাগ করুন। প্রতিটি বিন্দুতে ক্রমিক উপাদানসমূহ।

পিডি.কুট ((প্রথম + শেষ উপাদান) / (বিন -1 এর সংখ্যা নং)) ভিত্তিতে বিভাগ তৈরির জন্য একটি অ্যারের উপাদানগুলি বিতরণ করে এবং তারপরে যে মানগুলিতে পড়ে তার পরিসর অনুযায়ী উপাদান বিতরণ করে।

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