আমি কীভাবে একটি পান্ডস ডেটা ফ্রেমে কলামগুলির সংখ্যা পুনরুদ্ধার করব?


184

আপনি কীভাবে প্রোগ্রামিয়ালি একটি পান্ডাস ডেটা ফ্রেমে কলামগুলির সংখ্যা পুনরুদ্ধার করবেন? আমি এমন কিছু আশা করছিলাম:

df.num_columns

উত্তর:


304

তাই ভালো:

import pandas as pd
df = pd.DataFrame({"pear": [1,2,3], "apple": [2,3,4], "orange": [3,4,5]})

len(df.columns)
3

35
প্লাস df.shape(এন_রোজ, এন_ কলাম) এর সাথে একটি টিপল দেয়
এম কেএলএন

3
@ এম কেএলএন যদি আপনি উত্তর হিসাবে df.shape [1] পোস্ট করেন তবে আমি +1 করব। নাম্পি নিয়ে কাজ করার এটিই ভাল উপায় এবং পৃথক উত্তর হওয়ার উপযুক্ত।
ফিল কুপার

সম্পন্ন. @ ফিলকোপার সম্ভবত আপনি ব্যাখ্যা করতে পারেন কেন df.shapeভাল? আমার অনুমান যে এটি কোনও ফাংশন কল করে না কিন্তু কেবল স্মৃতি থেকে গুণাবলী পড়ে?
mkln

112

বিকল্প:

df.shape[1]

( df.shape[0]সারি সংখ্যা)


2
+1 কারণ আমি মার্টিক্স টাইপ সিনট্যাক্স সহ নম্পী এবং পান্ডাস অবজেক্টগুলিকে সম্বোধন করতে উত্সাহ দিতে চাই। (ডিএফ.শ্যাপ বনাম লেন (ডিএফ.কমলম))। সত্য বলে নেওয়া উচিত, আপনি যদি আকারের জন্য পান্ডাস বর্ণনাকারীর দিকে নজর রাখেন তবে এটি লেন (df.colums) কল করে তবে ন্যাপি অ্যারে এবং ম্যাট্রিকিতে এগুলিকে একটি গুণ হিসাবে চিহ্নিত করা হয়। বেশিরভাগ দক্ষ ভেক্টরাইজড অপারেশনগুলি ভেক্টরাইজড অপারেশনের বিপরীতে নিয়মিত পাইথন সিন্টাস দিয়ে করা যেতে পারে এবং প্রায় সর্বদা ভুল হয় (সেই সমালোচনা থেকে বাদ দেওয়া নাম্বা / জিট অপারেশন)
ফিল কোপার

26

যদি ডেটাফ্রেমকে ধারণ করে চলকটিকে ডিএফ বলা হয়, তবে:

len(df.columns)

কলামের সংখ্যা দেয়।

এবং যারা সারির সংখ্যা চান তাদের জন্য:

len(df.index)

উভয় সারি এবং কলামের সংখ্যা সহ একটি টিউপলের জন্য:

df.shape

3
len(df)সারি দিবে না ?
প্যাডেরিক কানিংহাম

4
@ প্যাড্রাইকিংহাম পান্ডাসে এমন অনেকগুলি শর্টকাট রয়েছে যা ভুলে যাওয়া সহজ তাই আমি এগুলি উপেক্ষা করতে পছন্দ করি এবং বিষয়গুলি সমাধান করার পরিবর্তে মূল যুক্তি ব্যবহার করি। আপনি কখনও কখনও প্রক্রিয়াজাতকরণের গতি ত্যাগ করতে পারেন, তবে আমি আমার কোডিং সময় এবং কোডের পাঠ্যতাটিকে প্রসেসিং সময়ের কয়েক সেকেন্ডের চেয়ে বেশি মূল্য দিয়েছি। এই বিশেষ ক্ষেত্রে: আপনি যদি জানতে পারেন যে সারিগুলির সংখ্যা লেন (df.index) দিয়ে গণনা করা যেতে পারে, পরের বার যখন আপনার কলামগুলির সংখ্যা প্রয়োজন তখন লেন (df.collines) করা স্বাভাবিক natural
মাল্টিগুডেভার্স

0

এটি আমার জন্য কাজ করেছে (তালিকা (ডিএফ))।


পর্যালোচনা থেকে: হাই, এই পোস্টটি প্রশ্নের কোনও মানের উত্তর দেয় বলে মনে হচ্ছে না । দয়া করে হয় আপনার উত্তরটি সম্পাদনা করুন এবং এটিকে উন্নত করুন বা একটি মন্তব্য হিসাবে এটি পোস্ট করুন।
সুনুন ןɐ কিউপি

এটা করবেন না। এটি একটি নতুন তালিকা তৈরি করে, স্মৃতি এবং গতি নষ্ট করে।
জেএমসিডি

0

df.info () ফাংশন আপনাকে নীচের মত ফলাফল দেবে। আপনি যদি সেপ প্যারামিটার ছাড়াই পান্ডাসের পঠন_সিএসভি পদ্ধতি ব্যবহার করেন বা "," দিয়ে সেপ করেন।

raw_data = pd.read_csv("a1:\aa2/aaa3/data.csv")
raw_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5144 entries, 0 to 5143
Columns: 145 entries, R_fighter to R_age

0

কলাম নম্বর এবং কলামের তথ্য পাওয়ার জন্য একাধিক বিকল্প রয়েছে:
আসুন সেগুলি পরীক্ষা করে দেখি।

স্থানীয়_ডিএফ = পিডি.ডাটা ফ্রেম (এনপি.আরন্ডম.অরেন্ডিন্ট (1,12, আকার = (2,6)), কলামগুলি = ['এ', 'বি', 'সি', 'ডি', 'ই', 'চ ']) 1. স্থানীয়_ডিএফ.শ্যাপ [1] -> আকৃতি বৈশিষ্ট্য ফেরত টুপল (সারি ও কলাম) (0,1) হিসাবে।

  1. স্থানীয়_df.info () -> তথ্য পদ্ধতি ডেটা ফ্রেম সম্পর্কে বিশদ তথ্য ফিরিয়ে দেবে এবং এটি কলামগুলি যেমন কলাম গণনা, কলামের ডেটা ধরণের, নাল মান নয়, ডেটা ফ্রেমের মেমরির ব্যবহার

  2. লেন (স্থানীয়_ডিএফ। কলাম) -> কলামগুলির বৈশিষ্ট্য ডেটা ফ্রেম কলামগুলির সূচক বিষয়টিকে প্রত্যাবর্তন করবে এবং লেন ফাংশনটি মোট উপলব্ধ কলামগুলি ফিরিয়ে দেবে।

  3. স্থানীয়_ডিএফ.হেড (0) -> প্যারামিটার 0 সহ প্রধান পদ্ধতিটি ডিএফের প্রথম সারিতে ফিরে আসবে যা আসলে শিরোনাম ছাড়া কিছুই নয়।

ধরে নিচ্ছি কলামগুলির সংখ্যা 10-এর বেশি নয় lo লুপ মজাদার জন্য: li_count = 0 স্থানীয়_ডেফের জন্য x এর জন্য: li_count = li_count + 1 মুদ্রণ (li_count)

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