எளிய தமிழில் Pandas-4

Attributes for Series, Dataframe, Panel

பாண்டாஸ் ஆதரிக்கும் இம்மூன்று தரவு வகைகளுக்குமான பண்புகள் என்னென்ன செய்திகளை வெளிப்படுத்துகின்றன என்பது பின்வருமாறு கொடுக்கப்பட்டுள்ளது.


import pandas as pd
s = pd.Series([90,83,67,83,45])
df = pd.DataFrame([[90,83,67,83,45],[68,89,75,56,73],[58,88,60,90,100]])
p = pd.Panel({'Midterm': pd.DataFrame([[90,83,67,83,45],[68,89,75,56,73],[58,88,60,90,100]]),
'Quarterly': pd.DataFrame([[35,44,65,56,79],[85,55,84,50,99],[65,90,87,69,78]])})
print (s.axes)
print (df.axes)
print (p.axes)
df2 = pd.DataFrame()
print (s.empty)
print (df2.empty)
print (p.empty)
print (s.shape)
print (df.shape)
print (p.shape)
print (s.ndim)
print (df.ndim)
print (p.ndim)
print (s.size)
print (df.size)
print (p.size)
print (s)
print (s.values)
print (df.values)
print (p.values)
print (s.head(2))
print (df.head(2))
print (s.tail(2))
print (df.tail(2))
# panel doesn't have these attributes
print (df.T)
# Panel & Series doesn't have these attributes
print (s.dtypes)
print (df.dtypes)
print (p.dtypes)
print (df)
print (df.describe())
print (df.sum())
print (df.sum(1))
print (df.mean(1))
print (df.std(1))

 

முதலில் மூன்று வகையிலும் ஒருசில தரவுகளை சேமித்துக் கொள்வோம்.

s = pd.Series([90,83,67,83,45])
df = pd.DataFrame([[90,83,67,83,45],[68,89,75,56,73],[58,88,60,90,100]])
p = pd.Panel({‘Midterm’: pd.DataFrame([[90,83,67,83,45],[68,89,75,56,73],[58,88,60,90,100]]),
‘Quarterly’: pd.DataFrame([[35,44,65,56,79],[85,55,84,50,99],[65,90,87,69,78]])})

Axes எனும் பண்பு பின்வருமாறு வெளிப்படுத்தும்.

print (s.axes)
[RangeIndex(start=0, stop=5, step=1)]
print (df.axes)
[RangeIndex(start=0, stop=3, step=1), RangeIndex(start=0, stop=5, step=1)]
print (p.axes)
[Index([‘Midterm’, ‘Quarterly’], dtype=’object’), RangeIndex(start=0, stop=3, step=1), RangeIndex(start=0, stop=
5, step=1)]

Empty எனும் பண்பு தரவுகள் ஏதேனும் சேமிக்கப்பட்டுள்ளதா இல்லையா என்பதை வெளிப்படுத்துகிறது.

df2 = pd.DataFrame()
print (s.empty)
False
print (df2.empty)
True
print (p.empty)
False

shape என்பது ஒவ்வொரு பரிமாணத்திலும் சேமிக்கப்பட்டுள்ள தரவுகளின் வடிவத்தை வெளிப்படுத்தும்.

print (s.shape)
(5,)
print (df.shape)
(3, 5)
print (p.shape)
(2, 3, 5)

ndim என்பது எத்தனை பரிமாணங்கள் என்பதை வெளிப்படுத்தும்.

print (s.ndim)
1
print (df.ndim)
2
print (p.ndim)
3

Size என்பது ஒவ்வொன்றிலும் மொத்தமுள்ள தரவுகளின் அளவை வெளிப்படுத்தும்.

print (s.size)
5
print (df.size)
15
print (p.size)
30

values என்பது ஒவ்வொன்றிலும் சேமிக்கப்பட்டுள்ள தரவுகளை எடுத்து வெளிக்காட்டும்.

print (s)
0 90
1 83
2 67
3 83
4 45
dtype: int64

print (s.values)
[90 83 67 83 45]

print (df.values)
[[ 90 83 67 83 45]
[ 68 89 75 56 73]
[ 58 88 60 90 100]]

print (p.values)
[[[ 90 83 67 83 45]
[ 68 89 75 56 73]
[ 58 88 60 90 100]]
[[ 35 44 65 56 79]
[ 85 55 84 50 99]
[ 65 90 87 69 78]]]

முதலிரண்டு அல்லது கடைசியில் இருந்து சில என்பது போன்று எடுத்துப் பார்க்க விரும்பினால் head / tail ஆகியவை பயன்படும். பேனலுக்கு இந்த பண்பு கிடையாது.

print (s.head(2))
0 90
1 83
dtype: int64

print (df.head(2))
  0  1  2  3  4
0 90 83 67 83 45
1 68 89 75 56 73

print (s.tail(2))
3 83
4 45
dtype: int64

print (df.tail(2))
  0  1  2  3  4
1 68 89 75 56 73
2 58 88 60 90 100

# panel doesn’t have these attributes

அதேபோல Transpose என்ற பண்பு டேட்டாஃப்பிரேமுக்கு மட்டுமே உரிய பண்பு ஆகும்.

print (df.T)
  0  1  2
0 90 68 58
1 83 89 88
2 67 75 60
3 83 56 90
4 45 73 100

# Panel & Series doesn’t have these attributes

dtypes என்பது ஒவ்வொன்றிலும் சேமிக்கப்பட்டுள்ள தரவுகளின் வகையை வெளிப்படுத்துகிறது.

print (s.dtypes)
int64

print (df.dtypes)
0 int64
1 int64
2 int64
3 int64
4 int64
dtype: object

print (p.dtypes)
Midterm int64
Quarterly int64
dtype: object

print (df)
  0  1  2  3  4
0 90 83 67 83 45
1 68 89 75 56 73
2 58 88 60 90 100

describe() எனும் பண்பு அடிப்படையான ஒரு சில புள்ளியியல் விவரங்களைக் கணக்கிட்டு வெளிப்படுத்தப் பயன்படுகிறது. ஒவ்வொரு Column-லும் சேமிக்கப்பட்டுள்ள தரவுகளுக்கான count, mean, standard deviation, minimum, maximum மதிப்புகள் ஆகியவற்றை வெளிப்படுத்தியுள்ளது. இங்கு மொத்தமே மூன்று தரவுகள் உள்ளதால் 25%, 50%,75% எனத் தரவுகளைப் பிரித்து வெளிப்படுத்துவதன் முக்கியத்துவத்தை நம்மால் சரிவர உள்வாங்கிக் கொள்ள முடியவில்லை. ஆனால் அதிக அளவு தரவுகளை நிகழ் நேரத்தில் கையாளும்போது இதுபோன்ற புள்ளிவிவரங்கள் பயனுள்ளதாக இருக்கும்.

print (df.describe())

      0        1         2         3         4
count 3.000000 3.000000  3.000000  3.000000  3.000000
mean 72.000000 86.666667 67.333333 76.333333 72.666667
std  16.370706 3.214550  7.505553  17.953644 27.501515
min  58.000000 83.000000 60.000000 56.000000 45.000000
25%  63.000000 85.500000 63.500000 69.500000 59.000000
50%  68.000000 88.000000 67.000000 83.000000 73.000000
75%  79.000000 88.500000 71.000000 86.500000 86.500000
max  90.000000 89.000000 75.000000 90.000000 100.000000

sum() என்பது ஒவ்வொரு பாடத்திலும் மூன்று வெவ்வேறு மாணவர்கள் பெற்ற மதிப்பெண்களை கூட்டிக் காட்டியுள்ளது. ஆனால் இது போன்று நாம் கூட்ட மாட்டோம் அல்லவா! ஒவ்வொரு மாணவனும் ஐந்து பாடத்தில் பெற்ற மதிப்பெண்களைக் கூட்டுமாறு செய்ய sum(1) அல்லது sum(axis=1) எனக் கொடுக்க வேண்டும். axis=0 என்பது row-ஐயும், 1 என்பது column-ஐயும் குறிக்கும்.

print (df.sum())
0 216
1 260
2 202
3 229
4 218
dtype: int64

print (df.sum(1))
0 368
1 361
2 396
dtype: int64

அதேபோல mean(), std() ஆகியவற்றையும் தனித்தனியே கணக்கிடலாம்.

print (df.mean(1))
0 73.6
1 72.2
2 79.2
dtype: float64

print (df.std(1))
0 18.077610
1 11.945711
2 19.005262
dtype: float64

%d bloggers like this: