একটি পান্ডা DataFrame
খালি আছে কিনা তা কীভাবে পরীক্ষা করবেন ? আমার ক্ষেত্রে আমি টার্মিনালে কিছু বার্তা মুদ্রণ করতে চাই যদি DataFrame
তা খালি থাকে।
একটি পান্ডা DataFrame
খালি আছে কিনা তা কীভাবে পরীক্ষা করবেন ? আমার ক্ষেত্রে আমি টার্মিনালে কিছু বার্তা মুদ্রণ করতে চাই যদি DataFrame
তা খালি থাকে।
উত্তর:
বৈশিষ্ট্যটি df.empty
খালি রয়েছে কিনা তা পরীক্ষা করতে আপনি এটি ব্যবহার করতে পারেন :
if df.empty:
print('DataFrame is empty!')
সূত্র: পান্ডাস ডকুমেন্টেশন
আমি len
ফাংশনটি ব্যবহার করি । এটা তুলনায় অনেক দ্রুত empty
। len(df.index)
আরও দ্রুত।
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10000, 4), columns=list('ABCD'))
def empty(df):
return df.empty
def lenz(df):
return len(df) == 0
def lenzi(df):
return len(df.index) == 0
'''
%timeit empty(df)
%timeit lenz(df)
%timeit lenzi(df)
10000 loops, best of 3: 13.9 µs per loop
100000 loops, best of 3: 2.34 µs per loop
1000000 loops, best of 3: 695 ns per loop
len on index seems to be faster
'''
আমি দীর্ঘ পথে যেতে পছন্দ করি। এই চেষ্টাগুলি বাদ দিয়ে চেষ্টাটি বাদ দেওয়ার জন্য আমি চেকগুলি অনুসরণ করি -
এখানে, DATA
সন্দেহজনক পরিবর্তনশীল -
DATA is not None and isinstance(DATA, pd.DataFrame) and not DATA.empty
try/except
সস্তা এবং if
ব্যয়বহুল। পাইথন জাভা বা সি নয়; এখানে অনুমতি চেয়ে ক্ষমা চাওয়া আরও সহজ
এটি প্রদর্শিত হয় যে এই থ্রেডে খালিটির গৃহীত সংজ্ঞাটি কেবল শূন্য সারি সহ একটি ডেটাফ্রেম। তবে শূন্য সারি এবং শূন্য কলাম সহ একটি খালি ডেটাফ্রেম এবং শূন্য সারি সহ একটি ফাঁকা ডেটাফ্রেম এবং কমপক্ষে একটি কলামের মধ্যে পার্থক্য রয়েছে । প্রতিটি ক্ষেত্রে সূচকের দৈর্ঘ্য 0 এবং খালি = সত্য এখানে দেখানো হয়েছে:
উদাহরণ 1: 0 টি সারি এবং 0 কলাম সহ খালি ডেটা ফ্রেম
In [1]: import pandas as pd
df1 = pd.DataFrame()
df1
Out[1]: Empty DataFrame
Columns: []
Index: []
In [2]: len(df1.index)
Out[2]: 0
In [3]: df1.empty
Out[3]: True
উদাহরণ 2: 0 টি সারি এবং কমপক্ষে 1 কলাম সহ খালি ডেটাফ্রেম
In [4]: df2 = pd.DataFrame({'AA' : [], 'BB' : []})
df2
Out[4]: Empty DataFrame
Columns: [AA, BB]
Index: []
In [5]: len(df2.index)
Out[5]: 0
In [6]: df2.empty
Out[6]: True
ওয়ান ওয়ে একটি মাঝে পার্থক্যটা উল্লেখ করা dataframe যে হেডার এবং ডাটা খালি বা শুধু ডেটার খালি হয় কলাম সূচক দৈর্ঘ্য পরীক্ষা । প্রথম লোড হওয়া ডেটাফ্রেম শূন্য কলাম দেয়, দ্বিতীয় ডেটাফ্রেম খালি কলামগুলির সংখ্যা প্রদান করে।
In [7]: len(df1.columns)
Out[7]: 0
In [8]: len(df2.columns)
Out[8]: 2
1) যদি কোনও ডেটা ফ্রেম ন্যান এবং নন নাল মান পেয়ে থাকে এবং আপনি ডেটা ফ্রেম কিনা তা সন্ধান করতে চান খালি বা না হয় এই কোড চেষ্টা করুন। ২) এই পরিস্থিতি কখন হতে পারে? যখন একক ফাংশন একাধিক ডেটা ফ্রেমের প্লট করতে ব্যবহৃত হয় তখন এই পরিস্থিতিটি ঘটে যা প্যারামিটার হিসাবে পাস করা হয় such এমন পরিস্থিতিতে ফাংশনটি ডেটা প্লট করার চেষ্টা করে যখন কোনও ডেটাফ্রেম খালি থাকে এবং এইভাবে একটি খালি চিত্র প্লট করে! কেবল 'ডেটাফ্রেমের কোনও ডেটা নেই' বার্তা প্রদর্শন করা হলে তা বোধগম্য হবে। 3) কেন? যদি কোনও ডেটা ফ্রেম খালি থাকে (যেমন কোনও তথ্য থাকে না Nan আপনাকে ন্যান মান সহ ডেটাফ্রেম মনে করে শূন্য হিসাবে বিবেচনা করা হয়) তবে এটি চক্রান্ত না করা বা বার্তা দেওয়া বাঞ্ছনীয়: ধরুন আমাদের কাছে দুটি ডাটাফ্রেমস ডিএফ 1 এবং ডিএফ 2 রয়েছে। Myfunc ফাংশনটি কোনও ডেটাফ্রেম নেয় (এই ক্ষেত্রে df1 এবং df2) এবং একটি বার্তা মুদ্রণ করে যদি কোনও ডেটা ফ্রেম খালি থাকে (প্লট করার পরিবর্তে):
df1 df2
col1 col2 col1 col2
Nan 2 Nan Nan
2 Nan Nan Nan
এবং ফাংশন:
def myfunc(df):
if (df.count().sum())>0: ##count the total number of non Nan values.Equal to 0 if DataFrame is empty
print('not empty')
df.plot(kind='barh')
else:
display a message instead of plotting if it is empty
print('empty')