Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
pythonÊý¾Ý·ÖÎöÓ뽨ģʵÏÖ-µÚÒ»´Î±Ê¼Ç
 
  1717  次浏览      28
 2019-7-11 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×Ôcsdn £¬ÎÄÕÂÖ÷Òª½éÉÜÁËpython×öÊý¾Ý·ÖÎöʱ£¬Êý¾ÝµÄµÄ¶ÁÈ¡ºÍ´¦Àí£¬ÒÔ¼°¾²Ì¬½á¹¹·ÖÎöµÈÏà¹ØÄÚÈÝ¡£

ǰÑÔ

Ê×ÏÈÎÒÃÇ×öÊý¾Ý·ÖÎö£¬ÏëÒªµÃ³ö×î¿ÆÑ§£¬×îÕæÊµµÄ½áÂÛ£¬±ØÐëÒªÓкõÄÊý¾Ý¡£¶øÊµ¼ÊÉÏÎÒÃÇÒ»°ãÃæ¶ÔµÄµÄ¶¼ÊǸ´ÔÓ£¬¶à±äµÄÊý¾Ý£¬ËùÒÔ±ØÐëÒªÓÐÇ¿´óµÄÊý¾Ý´¦ÀíÄÜÁ¦£¬½ÓÏÂÀ´£¬ÎÒ´ÓÎÒÃÇÃæÁÙµÄ×îÕæÊµµÄÇé¿ö£¬Ò»²½Ò»²½½Ì»á´ó¼ÒÔõô×ö¡£

1.Êý¾ÝµÄ¶ÁÈ¡

£¨1£©¶Áȡģ¿é
Import pandas as pd
Import numpy as np
£¨2£©¶ÁÈ¡±í¸ñµÄÈ«²¿Êý¾Ý
df = pd.read_csv(".data/HR.csv")
£¨3£©¶ÁÈ¡ÄãËùÐèÒªµÄÊý¾Ý
sl_s=df["sactisfaction_level"]

2. Êý¾ÝµÄ´¦Àí

2.1.Òì³£Öµ£¨¿ÕÖµ£©´¦Àí

2.1.1ɾ³ý

Ê×ÏÈ£¬µÚÒ»²½ÊǶԿÕÖµµÄ´¦Àí¡£

ÓÐÁ½ÖÖ£¬Ò»ÖÖÖ±½Óɾ³ý£¬ÁíÒ»ÖÖÖ¸´ú¡£

Èç¹ûÊý¾Ý¶à£¬Ïë¼òµ¥Ò»µã£¬¾ÍÖ±½Óɾ³ý£¬·½·¨¶¼ºÜ¼òµ¥¡£

Ê×ÏÈ£¬½¨Á¢Ò»¸öDataFrame±í
1.ΪÁËÈ·¶¨ÊÇ·ñº¬ÓпÕÖµ£º
df.isnull() #Èç¹ûº¬ÓпÕÖµ£¬·µ»ØTrue
2.ɾ³ý
df.dropna() #È¥µôº¬¿ÕÖµµÄÐÐ
Èç¹ûÏëҪɾ³ýijһ¸öÊôÐÔº¬¿ÕÖµµÄÐоͼÓÈësubset²ÎÊý
df.dropna(subset=["B"]) #È¥µôBÊôÐÔº¬¿ÕÖµµÄÐÐ
ÅжÏÊÇ·ñÓÐÖØ¸´µÄÊý¾Ý£º
df.duplicated(["A"]) #AÊôÐÔÖÐÖØ¸´µÄÊý¾Ý·µ»ØTrue
ɾ³ýAÊôÐÔÖØ¸´µÄÐÐ
df.drop_duplicates(["A"])
df.drop_duplicates(["A"],keep=False) #ɾ³ýAÊôÐÔÈ«²¿Öظ´µÄÐÐ
df.drop_duplicates(["A"],keep=first) #ɾ³ýAÊôÐÔÈ«²¿Öظ´µÄÐУ¬±£ÁôµÚÒ»¸ö
df.drop_duplicates(["A"],keep=last) #ɾ³ýAÊôÐÔÈ«²¿Öظ´µÄÐУ¬±£Áô×îºóÒ»¸ö

2.1.2Ö¸´ú

ÓÐЩÊý¾Ý·Ç³£ÖØÒª£¬²»ÄÜɾ³ý£¬ÄÇÎÒÃǾÍÑ¡ÔñÖ¸´ú£¬Ò²¾ÍÊÇÌæ»»

#º¬¿ÕÖµµÄÊý¾Ý±»Ì滻Ϊ¡°b*¡±
df.fillna("b*")
#EÊôÐÔÖеĺ¬¿ÕÖµµÄÊý¾Ý±»Ìæ»»³É¸ÃÊôÐÔµÄÆ½¾ùÖµ
df.fillna(df["E"].mean())
#²åÖµÌæ»»
Èç¹ûº¬¿ÕÖµµÄÔªËØÎª×îºóÒ»¸ö£¬ÄÇô¿ÕÖµµÄÊý¾ÝÌæ»»³ÉºÍÉÏÒ»¸öÊý¾ÝÒ»Ñù
ÈçºÎº¬¿ÕÖµµÄÔªËØÎªÖм䣬ÄÇô¿ÕÖµµÄÊý¾Ý±»£¨ÉÏ+Ï£©/2´úÌæ
df["E"].interpolate()
#3´ÎÑùÌõ²åÖµ order ²ÎÊý¾ÍÊǼ¸´ÎÑùÌõ²åÖµ
df["E"].interpolate(method="spline",order=3)

*º¯Êý

£¨4£©Òì³£Öµ·ÖÎö£¨º¬Óоͷµ»ØTrue£© --isnull()
sl_s.isnull()
Ö÷Òª±íʾûÓпÕÖµ
£¨5£©ÌáÈ¡Òì³£ÖµµÄ¸ÃÊôÐÔÐÅÏ¢
sl_s[sl_s.isnull()]
£¨6£©ÌáÈ¡Òì³£ÖµµÄ±í¸ñÈ«²¿ÐÅÏ¢
df[df["sactisfaction_level"].isnull()]
£¨7£©¶ªÆúÒì³£Öµ --dropna()
sl_s=sl_s.dropna()
×¢£ºÉ¾³ýΪ¿ÕµÄÒì³£Öµ
¿ÉÒÔÀûÓÃwhere()°ÑÒì³£Êý¾Ý¸³¿Õ£¬È»ºóÀûÓÃdropna()ɾ³ý
£¨8£©Ìî³äÒì³£Öµ --fillna()
sl_s=sl_s.fillna()
£¨9£©Æ½¾ùÖµ --mean()
sl_s.mean()
£¨10£©±ê×¼²î --std()
Sl_s.std()
£¨11£©×î´óÖµ --max()
sl_s.max()
£¨12£©×îСֵ --min()
sl_s.min()
£¨13£©ÖÐλÊý --median()
sl_s.median()
£¨14£©ÏÂËÄ·ÖλÊý --quantile(q=0.25)
sl_s.quantile(q=0.25)
£¨15£©ÉÏËÄ·ÖλÊý --quantile(q=0.75)
sl_s.quantile(q=0.75)
£¨16£©Æ«¶È --skew()
sl_s.skew()
·ÖÎö£ºÐ¡ÓÚ0 ÊǸºÆ« ¾ùֵƫС£¬´ó²¿·ÖÊýÊDZÈËûµÄ¾ùÖµ´óµÄ
´óÓÚ 0 ÉÔ΢ÓÐЩÕñÆ«
Ô¶´óÓÚ0£¬ ÊǼ«¶ÈÕñÆ«£¬¾ùÖµÒª±ÈËûµÄ´ó¶àÊýÖµ´óºÃ¶à¡£
£¨17£©·å¶È --kurt()
sl_s.kurt()
·ÖÎö£º<0 Ïà±ÈÓÚÕý̬·Ö²¼£¬ËûµÄÇ÷ÊÆÏà¶Ôƽ»º
Ô¶´óÓÚ0 ˵Ã÷ËûµÄÐαäÊǷdz£´óµÄ£¬ËùÒÔÊDz»¿¿Æ×µÄ
£¨18£©»ñµÃÀëÉ¢»¯µÄ·Ö²¼(numpyÄ£¿é) --histogram()
np.histogram(sl_s.values,bins = np.arange(0.0,1.1,0.1))
½á¹û·ÖÎö£º
[195,1214,532,974,¡­]
[0.0,0.1,0.2,0.3,0.4¡­]
´ú±í0.0-0.1Ö®¼äÓÐ195¸öÊý£¬0.1-0.2Ö®¼äÓÐ1214¸öÊý£¬ÒÔ´ËÀàÍÆ
·Ö²¼¼ä¸ôΪ0.1

3.ÀûÓÃËÄ·ÖλÊýÀ´È¥³ýÒì³£Öµ

3.1.ÌáÈ¡´óÓÚ1µÄÖµ
le_s[le_s>1]
3.2 È¥³ý´óÓÚ1µÄÒì³£Öµ
le_s[le_s<=1]
3.3 ÌáÈ¡Õý³£Öµ£¨ÀûÓÃËÄ·ÖλÊý£©
3.3.1 ÏÂËÄ·Öλ
q_low=le_s.quantile(q =0.25)
3.3.2 ÉÏËÄ·Öλ
q_high=le_s.quantile(q=0.75)
3.3.3 ËÄ·Öλ¼ä¾à
q_interval=q_high-q_low
3.3.4 ¶¨ÒåkµÄÖµ
K=1.5~3Ö®¼ä
Èç¹ûk=1.5,ɾ³ýµÄÒì³£ÖµÊÇÖжÈÒì³£
Èç¹ûk=3.0£¬É¾³ýµÄÒì³£ÖµÊǼ«¶ÈÒì³£
3.3.5 ɸѡ
le_s=le_s[le_s<q_high+k*q_interval][le_s>q_low-k*q_interval]
3.4 Êý¾ÝµÄ¸öÊý --len()
len(le_s)
3.5ÀëÉ¢·Ö²¼Ö±·½Í¼(numpyÄ£¿é)
np.histogram(le_s.values,bins=np.arange(0.0,1.1,0.1))
3.6»Ø¹ËÊý¾ÝµÄƽ¾ùÖµ£¬±ê×¼²î£¬ÖÐλÊý£¬×î´óÖµ£¬×îСֵ£¬Æ«¶È£¬·å¶È,È·¶¨Êý¾ÝµÄÕý³£¡£

4.¾²Ì¬½á¹¹·ÖÎö

4.1ÿ¸öÖµ³öÏֵĴÎÊý --values_counts()
np_s.value_counts()
4.2»ñÈ¡¸ÃÊý¾ÝµÄ¹¹³ÉºÍ±ÈÀý(ÿ¸öÖµµÄƵÂÊ)
np_s.value_counts(normalize=True)
4.3 ÅÅÐò
np_s.value_counts(normalize=True).sort_index()

5.Êý¾Ý·ÖÇø¼ä

5.1°ÑÊý¾Ý·Ö³É¼¸·Ý --histogram£¨£©
np.histogram(amh_s.values,bins=10) °ÑÊý¾Ý·Ö³É10·Ý
5.2ÁíÒ»ÖÖ·½·¨ ¼ÓÁËÇø¼ä£¬¼ÆËãÇø¼äµÄƵÊý
(×ó±ÕÓÒ¿ªµÄÇø¼ä)
Np.histogram(amh_s.values,bins = np.arange(amh_s.min(),amh_s.max()+10,10))
£¨×ó¿ªÓÒ±ÕµÄÇø¼ä£©
amh_s.value_counts(bins=np.arange (amh_s.min(),amh_s.max()+10,10))

6.Ó¢ÎÄÒì³£ÖµÊý¾ÝµÄ´¦Àí

6.1 Ê×ÏÈ£¬Í³¼Æ¸ÃÊý¾ÝµÄ·Ö²¼ÆµÊý
s_s.value_counts()
6.2È·¶¨Òì³£ÖµµÄÃû×Ö¡£
6.3°ÑÒì³£Öµ¸³¿Õ(NaN) --where()
s_s.where(s_s!="name")
Òâ˼Êǰѡ±name¡±µÄÊý¾Ý¸³¿Õ
6.4°Ñ¸³¿ÕµÄÒ쳣ֵɾ³ý --dropna()ɾ³ýÒì³£Öµ
s_s.where(s_s!="name").dropna()
6.5 ¼ì²éɾ³ýÒì³£ÖµµÄ½á¹û
s_s.where(s_s!="name").dropna().value_counts()

7.¶Ô±È·ÖÎö

7.1¶Ô±í¸ñÖпÕÖµµÄÐÐɾ³ý
Df = df.dropna(axis=0,how=¡¯any¡¯)
axis =0 ,´ú±íµÄÊÇÐÐɾ³ý
how=¡®any¡¯ ´ú±íµÄÊǺ¬Óв¿·Ö¿ÕÖµ¾ÍÖ´ÐÐÐÐɾ³ý
how=¡®all¡¯ ´ú±íµÄÊÇÒ»ÐÐÈ«²¿ÊÇ¿ÕÖµÖ´ÐÐÐÐɾ³ý
7.2º¬ÓÐÌõ¼þÐԵĶÔÒì³£ÖµµÄɾ³ý
df=df[df["last_evaluation"]<=1] [df["salary"]!="name"][df["department" ]!="sale"]
7.3·Ö×é(±ÈÈ磺°Ñͬһ²¿ÃŵÄÈË·ÖΪһ×é) --groupby()
df.groupby("department")
7.4¶Ô·Ö×éºóµÄ×éÈ¡¾ùÖµ
df.groupby("department").mean()
7.5 È¡²¿·ÖÊý¾Ý£¨ÇÐÆ¬£© --loc()
df.loc[:,["last_evaluation","department"]] .groupby("department")
7.6 È¡²¿·ÖÊý¾ÝÇ󯽾ù
df.loc[:,["last_evaluation","department"]] .groupby("department").mean()
7.7 È¡²¿·ÖÊý¾ÝÇ󼫲î --apply()
df.loc[:,["average_monthly_hours" ,"department"]].groupby ("department")[ "average_monthly_hours"]. apply(lambda x:x.max()-x.min())

²»Íü³õÐÄ£¬¼ÌÐøÇ°½ø£¡

   
1717 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ