上一篇復盤的是選擇行和列,這是利用python操作數據的基礎和根本。本文將總結基本的算術運算規則。
算術運算
對於兩個對象進行加減乘除的算數運算時,如果兩個對象有不同的索引對,那么運算結果的索引就是該索引對的並集。而結果集索引對應的值是兩個對象相同索引對應的值相加減乘除,不同的索引對應的值統一為NaN。比方說張三有梨子3個,蘋果2個;李四有橘子1個,獼猴桃3個,蘋果1個,梨子5個。那么張三和李四加起來的結果就是梨子8個,蘋果3個,橘子未知,獼猴桃未知。這里的水果名即為索引,兩者相同索引對應的值會相加,而不同索引對應的值將為NaN。
1.1 Series之間的運算
示例:
1.2 DataFrame之間的運算
示例:
從上述例子上看可以發現DataFrame之間運算時,是行索引和列索引一起進行對齊操作,運算后的結果集的行索引是兩者行索引的並集,結果集的列索引是兩者列索引的並集。而行列對應的數值是df1和df2中相同行索引和相同列索引定位到的那個數值相加,如果兩者的行索引或者列索引不相同數值將填充為NaN.
1.3 DataFrame與Series之間的運算
示例:
從以上示例可以看出兩個相減時是從df1中匹配m中的列索引,匹配上了的就將df1的每一行都減去對應m的值。比如m中a,d是與df1相同的,那么df1的a,d兩列的每一行都要減去m的a,d兩個值。df1其他沒匹配上的填充為NaN。
如果是按照行匹配,每列來運算,則利用軸標記來指定。
示例:
axis=0表示希望匹配的軸是行,按照行來匹配,減去每列的數值。