Python數據分析入門(五):Pandas的對齊運算

是數據清洗的重要過程,能夠按索引對齊進行運算,若是沒對齊的位置則補NaN,最後也能夠填充NaNspa

Series的對齊運算code

1. Series 按行、索引對齊blog

示例代碼:索引

s1 = pd.Series(range(10, 20), index = range(10))
s2 = pd.Series(range(20, 25), index = range(5))

print('s1: ' )
print(s1)

print('') 

print('s2: ')
print(s2)

 

運行結果:數據分析

s1: 
0    10
1    11
2    12
3    13
4    14
5    15
6    16
7    17
8    18
9    19
dtype: int64

s2: 
0    20
1    21
2    22
3    23
4    24
dtype: int64

 

2. Series的對齊運算class

示例代碼:float

# Series 對齊運算
s1 + s2

 

運行結果:gc

0    30.0
1    32.0
2    34.0
3    36.0
4    38.0
5     NaN
6     NaN
7     NaN
8     NaN
9     NaN
dtype: float64

 

DataFrame的對齊運算方法

1. DataFrame按行、列索引對齊im

示例代碼:

df1 = pd.DataFrame(np.ones((2,2)), columns = ['a', 'b'])
df2 = pd.DataFrame(np.ones((3,3)), columns = ['a', 'b', 'c'])

print('df1: ')
print(df1)

print('') 
print('df2: ')
print(df2)

 

運行結果:

df1: 
     a    b
0  1.0  1.0
1  1.0  1.0

df2: 
     a    b    c
0  1.0  1.0  1.0
1  1.0  1.0  1.0
2  1.0  1.0  1.0

 

2. DataFrame的對齊運算

示例代碼:

# DataFrame對齊操做
df1 + df2

 

運行結果:

     a    b   c
0  2.0  2.0 NaN
1  2.0  2.0 NaN
2  NaN  NaN NaN

 

填充未對齊的數據進行運算

1. fill_value

使用add,sub,div,mul的同時,經過fill_value指定填充值,未對齊的數據將和填充值作運算

示例代碼:

print(s1)
print(s2)
s1.add(s2, fill_value = -1)

print(df1)
print(df2)
df1.sub(df2, fill_value = 2.)

 

運行結果:

# print(s1)
0    10
1    11
2    12
3    13
4    14
5    15
6    16
7    17
8    18
9    19
dtype: int64

# print(s2)
0    20
1    21
2    22
3    23
4    24
dtype: int64

# s1.add(s2, fill_value = -1)
0    30.0
1    32.0
2    34.0
3    36.0
4    38.0
5    14.0
6    15.0
7    16.0
8    17.0
9    18.0
dtype: float64


# print(df1)
     a    b
0  1.0  1.0
1  1.0  1.0

# print(df2)
     a    b    c
0  1.0  1.0  1.0
1  1.0  1.0  1.0
2  1.0  1.0  1.0


# df1.sub(df2, fill_value = 2.)
     a    b    c
0  0.0  0.0  1.0
1  0.0  0.0  1.0
2  1.0  1.0  1.0

 

算術方法表:

Python數據分析 Pandas的對齊運算
相關文章
相關標籤/搜索