ধরা যাক df
একটি পান্ডাস ডেটা ফ্রেম। আমি সংখ্যার ধরণের সমস্ত কলাম খুঁজে পেতে চাই। কিছুটা এইরকম:
isNumeric = is_numeric(df)
ধরা যাক df
একটি পান্ডাস ডেটা ফ্রেম। আমি সংখ্যার ধরণের সমস্ত কলাম খুঁজে পেতে চাই। কিছুটা এইরকম:
isNumeric = is_numeric(df)
উত্তর:
আপনি select_dtypes
ডেটাফ্রেমের পদ্ধতিটি ব্যবহার করতে পারেন । এতে দুটি পরামিতি অন্তর্ভুক্ত রয়েছে এবং বাদ দেওয়া হয়। সুতরাং isNumeric এর মত দেখতে হবে:
numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
newdf = df.select_dtypes(include=numerics)
list(df.select_dtypes(include=[np.number]).columns.values)
সংখ্যার কলামগুলির নামের তালিকা পেতে ব্যবহার করতে পারেন
আপনি _get_numeric_data()
কেবল সংখ্যার কলামগুলি ফিল্টার করতে অননুমোদিত ফাংশনটি ব্যবহার করতে পারেন :
df._get_numeric_data()
উদাহরণ:
In [32]: data
Out[32]:
A B
0 1 s
1 2 s
2 3 s
3 4 s
In [33]: data._get_numeric_data()
Out[33]:
A
0 1
1 2
2 3
3 4
দ্রষ্টব্য যে এটি একটি "ব্যক্তিগত পদ্ধতি" (অর্থাত্ একটি বাস্তবায়নের বিশদ) এবং ভবিষ্যতে পরিবর্তন বা সম্পূর্ণ অপসারণের অধীন। সাবধানতার সাথে ব্যবহার করুন ।
কেবলমাত্র সংখ্যাসূচক কলাম সহ একটি নতুন ডেটাফ্রেম তৈরি করতে সাধারণ এক-লাইনের উত্তর:
df.select_dtypes(include=np.number)
আপনি যদি সংখ্যার কলামগুলির নাম চান:
df.select_dtypes(include=np.number).columns.tolist()
সম্পূর্ণ কোড:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': range(7, 10),
'B': np.random.rand(3),
'C': ['foo','bar','baz'],
'D': ['who','what','when']})
df
# A B C D
# 0 7 0.704021 foo who
# 1 8 0.264025 bar what
# 2 9 0.230671 baz when
df_numerics_only = df.select_dtypes(include=np.number)
df_numerics_only
# A B
# 0 7 0.704021
# 1 8 0.264025
# 2 9 0.230671
colnames_numerics_only = df.select_dtypes(include=np.number).columns.tolist()
colnames_numerics_only
# ['A', 'B']
df.select_dtypes(include=['int64']).columns.tolist()
include=
। select_dtypes(np.number)
df.fillna(value=0, inplace=True)
সাধারণ এক-লাইনার:
df.select_dtypes('number').columns
নিম্নলিখিত কোডগুলি কোনও ডেটা সেটের সংখ্যাযুক্ত কলামগুলির নামের তালিকা উপস্থিত করবে।
cnames=list(marketing_train.select_dtypes(exclude=['object']).columns)
এখানে marketing_train
আমার ডেটা সেট রয়েছে এবং select_dtypes()
উপাত্ত কোড এবং কলামগুলি অন্তর্ভুক্ত ব্যবহার করে উপাত্ত কোডের ডেটা সেট আউটপুটটির কলামের নাম আনতে ব্যবহৃত হবে তা ব্যবহার করে ডেটা ধরণের নির্বাচন করতে ফাংশন রয়েছে:
['custAge',
'campaign',
'pdays',
'previous',
'emp.var.rate',
'cons.price.idx',
'cons.conf.idx',
'euribor3m',
'nr.employed',
'pmonths',
'pastEmail']
ধন্যবাদ
def is_type(df, baseType):
import numpy as np
import pandas as pd
test = [issubclass(np.dtype(d).type, baseType) for d in df.dtypes]
return pd.DataFrame(data = test, index = df.columns, columns = ["test"])
def is_float(df):
import numpy as np
return is_type(df, np.float)
def is_number(df):
import numpy as np
return is_type(df, np.number)
def is_integer(df):
import numpy as np
return is_type(df, np.integer)
এই উত্তরটি মানিয়ে নেওয়া , আপনি করতে পারেন
df.ix[:,df.applymap(np.isreal).all(axis=0)]
এখানে, np.applymap(np.isreal)
ডেটা ফ্রেমের প্রতিটি কক্ষ সংখ্যাযুক্ত কিনা তা দেখায় এবং .axis(all=0)
কলামের সমস্ত মান সত্য হয় কিনা তা পরীক্ষা করে এবং বুলিয়ানগুলির একটি সিরিজ প্রদান করে যা পছন্দসই কলামগুলি সূচী করতে ব্যবহার করা যেতে পারে।
নীচের কোডটি দেখুন:
if(dataset.select_dtypes(include=[np.number]).shape[1] > 0):
display(dataset.select_dtypes(include=[np.number]).describe())
if(dataset.select_dtypes(include=[np.object]).shape[1] > 0):
display(dataset.select_dtypes(include=[np.object]).describe())
এইভাবে আপনি ভাসা এবং ইনট বা স্ট্রিংয়ের মানগুলির মতো মান সংখ্যাযুক্ত কিনা তা পরীক্ষা করতে পারেন। দ্বিতীয় যদি স্টেটমেন্টটি স্ট্রিংয়ের মানগুলি পরীক্ষা করার জন্য ব্যবহৃত হয় যা অবজেক্ট দ্বারা রেফারেন্স করা হয়।
আমরা নীচের হিসাবে প্রয়োজনীয় হিসাবে তথ্য প্রকারগুলি অন্তর্ভুক্ত এবং বাদ দিতে পারি:
train.select_dtypes(include=None, exclude=None)
train.select_dtypes(include='number') #will include all the numeric types
জুপিটার নোটবুক থেকে উল্লেখ করা হয়েছে।
সমস্ত সংখ্যার ধরন নির্বাচন করতে np.number
বা ব্যবহার করুন'number'
স্ট্রিংগুলি নির্বাচন করতে আপনাকে অবশ্যই object
টাইপ ব্যবহার করতে হবে তবে নোট করুন যে এটি সমস্ত অবজেক্ট dtype কলামগুলি ফিরিয়ে দেবে
NumPy dtype hierarchy <http://docs.scipy.org/doc/numpy/reference/arrays.scalars.html>
__ দেখুন
নির্বাচন করতে datetimes, ব্যবহার np.datetime64
, 'datetime'
বা
'datetime64'
টাইমডেল্টাস নির্বাচন করতে np.timedelta64
, 'timedelta'
বা
ব্যবহার করুন'timedelta64'
পান্ডাস শ্রেণীবদ্ধ dtyype নির্বাচন করতে, ব্যবহার করুন 'category'
পান্ডাস ডেটটাইমটিজ টাইপগুলি নির্বাচন করতে, 'datetimetz'
(0.20.0 এ নতুন) বা `` 'ডেটটাইম 64 [এনএস, টিজ]' ব্যবহার করুন
dtype
হচ্ছেobject
, কিন্তু সমস্ত উপাদান সংখ্যাসূচক, সংখ্যা হিসাবে গণ্য হয়েছে কিনা । যদি না হয় তবে হানানের উত্তর নিন, কারণ এটিও দ্রুত is অন্যথায়, আমার নিতে।