### æ°æ®ç»æ #### Series ##### ç®ä» å¯ä»¥ç解为æ¯å»ºç«å¨Numpyä¸arrayçåºç¡ä¸å¢å ç´¢å¼çä¸ç»´æ°ç»ã ##### ä½¿ç¨ - å建Seriesï¼å建Seriesæ¶å¯ä»¥ä¼ å ¥ä¸¤ä¸ªåæ°dataåindexï¼åNumPy䏿 ·dataå¯ä»¥ä¼ å表ãå ç¥ï¼index乿¯å¦æ¤ï¼å½ä¼ å ¥åå ¸çæ¶åï¼å®çé®ä¼ä½ä¸ºindexï¼å¼ä½ä¸ºdata,è¿å¯ä»¥ä¼ array ```python >>> import pandas as pd >>> import numpy as np >>> pd.Series([1,2,3,4],["a","b","c","d"]) a 1 b 2 c 3 d 4 >>> pd.Series((1,2,3,4),("a","b","c","d")) a 1 b 2 c 3 d 4 dtype: int64 >>> pd.Series({"a":1,"b":2,"c":3,"d":4}) a 1 b 2 c 3 d 4 dtype: int64 >>> pd.Series(np.arange(4)) 0 0 1 1 2 2 3 3 dtype: int32 ``` - éæ©æ°æ®ï¼å¨éæ©æ°æ®çæ¶åï¼Serieså¯ä»¥ç´æ¥æ ¹æ®ç´¢å¼æ¥éæ©ï¼ä»ä¹å¯ä»¥è¿è¡åçåéåçæä½ ```python >>> s1[0] 0 >>> for i in s1: ... print(i) ... 0 1 2 3 >>> s1[1:3] 1 1 2 2 dtype: int32 ``` - Seriesè¿å¯ä»¥æ ¹æ®æ¡ä»¶éæ©æ°æ® ```python >>> s1[s1>0] 1 1 2 2 3 3 dtype: int32 ``` - Seriesç®åçæ°å¦è¿ç®ï¼Seriesè·NumPyéçarray䏿 ·ï¼ä¹å¯ä»¥è¿è¡ååè¿ç®ï¼ä¸ä» å¯ä»¥åæ°ï¼ä¹å¯ä»¥åSeries对象è¿è¡ï¼å¨åSeries对象è¿è¡è¿ç®çæ¶åï¼æ ¹æ®ç´¢å¼æ¥æä½ï¼å妿åå¨ç©ºçæ¶åä¼åºç°NaN ```python >>> s1 = pd.Series(np.arange(4)) >>> s1+5 0 5 1 6 2 7 3 8 dtype: int32 >>> s1-3 0 -3 1 -2 2 -1 3 0 dtype: int32 >>> s1*2 0 0 1 2 2 4 3 6 dtype: int32 >>> s1/6 0 0.000000 1 0.166667 2 0.333333 3 0.500000 dtype: float64 >>> s2 = pd.Series(np.random.random(3)) >>> s2 0 0.038811 1 0.860956 2 0.751210 dtype: float64 >>> s1+s2 0 0.038811 1 1.860956 2 2.751210 3 NaN dtype: float64 >>> s1-s2 0 -0.038811 1 0.139044 2 1.248790 3 NaN dtype: float64 >>> s1*s2 0 0.000000 1 0.860956 2 1.502420 3 NaN dtype: float64 >>> s1/s2 0 0.000000 1 1.161500 2 2.662372 3 NaN dtype: float64 ``` **å¨è¿è¡ä¸å精度çååè¿ç®æ¶ï¼Pandasä¼è®©ç»æç精度å两个Seriesä¸ç²¾åº¦æ´ç²¾ç¡®çé£ä¸ªä¸æ ·** - åæ ·ä¹å¯ä»¥ä½¿ç¨add/subçè¿æ ·çæ¹æ³è¿è¡æä½ ```python >>> s1.add(s2) 0 0.038811 1 1.860956 2 2.751210 3 NaN dtype: float64 >>> s1.sub(s2) 0 -0.038811 1 0.139044 2 1.248790 3 NaN dtype: float64 ```