পান্ডাস ডেটাফ্রেমে কীভাবে সমস্ত কলামের নাম দেখানো যায়?


131

আমার কাছে একটি ডেটাফ্রেম রয়েছে যাতে কয়েকশ কলাম রয়েছে এবং আমার সমস্ত কলামের নাম দেখতে হবে to

আমি কি করেছিলাম:

In[37]:
data_all2.columns

আউটপুটটি হ'ল:

Out[37]:
Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food',
       'government', 'internet', 'isipulsa',
       ...
       'overdue_3months_feature78', 'overdue_3months_feature79',
       'overdue_3months_feature80', 'overdue_3months_feature81',
       'overdue_3months_feature82', 'overdue_3months_feature83',
       'overdue_3months_feature84', 'overdue_3months_feature85',
       'overdue_3months_feature86', 'loan_overdue_3months_total_y'],
      dtype='object', length=102)

কাটা তালিকার পরিবর্তে আমি কীভাবে সমস্ত কলাম দেখাব ?

উত্তর:


199

আপনি বিশ্বব্যাপী মুদ্রণের বিকল্পগুলি সেট করতে পারেন। আমি এই কাজ করা উচিত:

পদ্ধতি 1:

pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

পদ্ধতি 2:

pd.options.display.max_columns = None
pd.options.display.max_rows = None

এটি যখন আপনি করছেন তখন সমস্ত কলামের নাম এবং সারি দেখার অনুমতি দেবে .head()। কলামের কোনও নামই কেটে যাবে না।


আপনি যদি কলামের নামগুলি দেখতে চান তবে আপনি করতে পারেন:

print(df.columns.tolist())

4
@EEE না, এটি প্রশ্নের উত্তর দেয়। আমি কেবল এটি চেষ্টা করেছি, এটি একটি কাটা তালিকার পরিবর্তে সমস্ত কলাম প্রদর্শন করে। তিনি কাটা মাঠটি বলেননি, তিনি কলামের তালিকা বলেছিলেন।
rjurney

4
আহ্, আপনি ঠিক বলেছেন। আমি ভৃল ছিলাম. ধন্যবাদ, @ আরজুরনে এবং দুঃখিত YOLO। আমি df.head () এর পরিবর্তে df.colলাম করছিলাম! আমার কি আমার ভুল আগের মন্তব্যটি মুছে ফেলা উচিত?
EEE

হাঁ আমি তাই মনে করি.
rjurney

4
৫০০ এর মতো সসীম মান নির্ধারণ করা আরও ভাল better নইলে আপনি যদি কোনও বড় ডেটাফ্রেম মুদ্রণ করেন তবে চালানো চিরতরে লাগবে
টমাস জি

দুঃখিত, তবে কীভাবে এটি বন্ধ করবেন? বর্তমানে আমার বোবা সমাধানটি কেবল অ্যানাকোন্ডা বন্ধ করে তা আবার খোলা। ঠিক আছে, তা না করে কি এর বাইরে বেরোনোর ​​কোনও বৈধতা আছে?
চেন লিজি

45

একটি ডেটা ফ্রেমের সমস্ত কলামের নাম পেতে, df_dataএই উদাহরণে, আপনাকে কেবল কমান্ডটি ব্যবহার করতে হবে df_data.columns.values। এটি আপনাকে আপনার ডেটাফ্রেমের সমস্ত কলামের নাম সহ একটি তালিকা প্রদর্শন করবে

কোড:

df_data=pd.read_csv('../input/data.csv')
print(df_data.columns.values)

আউটপুট:

['PassengerId' 'Survived' 'Pclass' 'Name' 'Sex' 'Age' 'SibSp' 'Parch' 'Ticket' 'Fare' 'Cabin' 'Embarked']

এটি এই প্রশ্নের আসল উত্তর, আপনাকে ধন্যবাদ # গোলাপী.স্ল্যাশ
ইন্টারলুপার ২

আমি যদি কলামের নম্বরগুলিও দেখতে চাই - তবে তা কি সম্ভব? আমার ডিএফের 200 টি কলাম রয়েছে এবং আমি সেগুলির একটি ভগ্নাংশ ব্যবহার করতে চাই এবং ভাবছিলাম যে আমি প্রতিটি কলামের নাম লেখার পরিবর্তে সংখ্যাগুলি ব্যবহার করতে পারি।
ম্যাক্টিল্ডা 23:25 '

11

ইন্টারেক্টিভ কনসোলে এটি করা সহজ:

data_all2.columns.tolist()

বা এটি কোনও স্ক্রিপ্টের মধ্যে:

print(data_all2.columns.tolist())

6

এই কৌশলটি করবে। display()মুদ্রণের পরিবর্তে এর ব্যবহারটি নোট করুন ।

with pd.option_context('display.max_rows', 5, 'display.max_columns', None): 
    display(my_df)

সম্পাদনা:

এর ব্যবহার displayপ্রয়োজন কারণ pd.option_contextসেটিংস কেবলমাত্র প্রয়োগ হয় displayএবং না print


আমি withকীওয়ার্ডটি কেবল নীচের ব্লকে অপশনটি প্রয়োগ করতে চাই । তবে এটি সঙ্গে ভাল কাজ করে print()। এর display()পরিবর্তে আমার কেন দরকার হবে print()?
ভিনসেন্ট আগামি

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

5

আমার জন্য যা কাজ করেছিল তা নিম্নলিখিত:

pd.options.display.max_seq_items = None

আপনি এটিকে আপনার কলামের সংখ্যার চেয়ে বড় সংখ্যায় সেট করতে পারেন।


3

সবচেয়ে সহজ উপায় আমি খুঁজে পেয়েছি

list(df.columns)

ব্যক্তিগতভাবে আমি গ্লোবালগুলি পরিবর্তন করতে চাই না, এটি প্রায়শই আমি সব কলামের নাম দেখতে চাই না।


2

সমস্ত কলামের নাম পেতে আপনি এর উপর পুনরাবৃত্তি করতে পারেন data_all2.columns

columns = data_all2.columns
for col in columns:
    print col

আপনি সমস্ত কলামের নাম পাবেন। অথবা আপনি সমস্ত কলামের নাম অন্য তালিকা পরিবর্তনশীল এবং তারপরে তালিকা মুদ্রণ করতে পারেন।


1

আপনি যদি কেবল সমস্ত কলাম দেখতে চান তবে আপনি দ্রুত সমাধান হিসাবে এই ধরণের কিছু করতে পারেন

cols = data_all2.columns

এখন কলস একটি পুনরাবৃত্ত পরিবর্তনশীল হিসাবে আচরণ করবে যা সূচকযুক্ত হতে পারে। উদাহরণ স্বরূপ

cols[11:20]

1

একটি দ্রুত এবং নোংরা সমাধান হ'ল এটিকে স্ট্রিতে রূপান্তর করা

print('\t'.join(data_all2.columns))

এগুলির সমস্তগুলি মুছে ফেলার জন্য ট্যাবগুলি দিয়ে আলাদা করে দেবে অবশ্যই, মনে রাখবেন যে ১০২ টি নাম দিয়ে, সমস্তগুলি বরং দীর্ঘায়িত হবে, এটি পড়ে কিছুটা শক্ত হবে


1

আমার প্রচুর সদৃশ কলামের নাম ছিল এবং আমি একবার দৌড়ে এসেছি

df = df.loc[:,~df.columns.duplicated()]

আমি কলামগুলির সম্পূর্ণ তালিকা দেখতে সক্ষম হয়েছি

ক্রেডিট: https://stackoverflow.com/a/40435354/5846417


1

আপনি এটি চেষ্টা করতে পারেন

pd.pandas.set_option('display.max_columns', None)

1

প্রচলিত উত্তর নয়, তবে আমি ধারণা করি আপনি কলামগুলির পরিবর্তে সারিগুলি সন্ধান করার জন্য ডেটাফ্রেম স্থানান্তর করতে পারেন। আমি এটি ব্যবহার করি কারণ আমি সারিগুলিতে কলামগুলি দেখার চেয়ে 'অন্তর্নিহিত' বেশি দেখছি:

data_all2.T

এটি আপনাকে সমস্ত সারি দেখতে দেয়। এই ক্রিয়াটি স্থায়ী নয় , এটি আপনাকে কেবল ডেটা ফ্রেমের ট্রান্সপোজড সংস্করণ দেখতে দেয়।

যদি সারিগুলি এখনও কেটে ফেলা হয় তবে কেবল print(data_all2.T)সমস্ত কিছু দেখার জন্য ব্যবহার করুন ।


প্রচলিত উত্তর নয়, তবে আমি ধারণা করি আপনি কলামগুলির পরিবর্তে সারিগুলি সন্ধান করার জন্য ডেটাফ্রেম স্থানান্তর করতে পারেন। তারা সব কি কলামের নাম, না? যদি সারিগুলি এখনও কেটে যায় তবে সবকিছু দেখতে কেবল মুদ্রণ (ডেটা_আল 2.টি) ব্যবহার করুন। ফলাফল মুদ্রণ কীভাবে সমস্যার সমাধান করবে? আপনি কি ইতিমধ্যে এটি মুদ্রণ করছেন না?
এএমসি

-1

আমি জানি এটি একটি পুনরাবৃত্তি তবে আমি সর্বদা কপি আটকানো এবং YOLO এর উত্তরটি সংশোধন করে শেষ করি:

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