pandas中size方法_Pandas的运算方法及缺失值

Pandas基于Numpy,相应的运算也是基于Numpy的运算,只不过多了⼀些Pandas的内容,比如运算结果保留索引和列标签,传递通用函数的时候会自动对齐索引等。对通用函数保留索引和列标签import numpy as npimport pandas as pddf = pd.DataFrame(np.random.randint(100, size=(3,5)), columns=["A", ...
摘要由CSDN通过智能技术生成

Pandas基于Numpy,相应的运算也是基于Numpy的运算,只不过多了⼀些Pandas的内容,比如运算

结果保留索引和列标签,传递通用函数的时候会自动对齐索引等。

对通用函数保留索引和列标签

import numpy as np

import pandas as pd

df = pd.DataFrame(np.random.randint(100, size=(3,5)), columns=["A", "B", "C",

"D", "E"])

print("df=\n", df)

#如果对df使⽤通用函数,成成的结果是保留索引和列标签的

df2 = np.exp(df)

print("df2 \n", df2)

df=

A B C D E

0 77 86 86 53 98

1 56 92 27 0 83

2 6 66 7 54 44

df2

A B C D E

0 2.758513e+33 2.235247e+37 2.235247e+37 1.041376e+23 3.637971e+42

1 2.091659e+24 9.017628e+39 5.320482e+11 1.000000e+00 1.112864e+36

2 4.034288e+02 4.607187e+28 1.096633e+03 2.830753e+23 1.285160e+19

自动对齐索引

在对Series或者DataFrame进行二元运算的时候, Pandas会在计算过程中对齐两边索引,这对于不完

整数据的处理极其重要。

在运算⼯程中,对于缺失值的处理采用默认缺失值处理方法,⼀般是添加NaN。如果想指定缺失值的填充内容,需要:

采用Pandas的运算方法,而不是使用运算符

fill_value参数代表填充的内容

在指定fill_value的时候,需要注意点是,此时是先对参与运算的数据进⾏缺省值处理,然后才运算,这

样很多因为一方是NaN而最终结果也是NaN的运算因为换了缺省值而能够正常运算。而不是先运算,得

到缺省值后再处理。

最终结果的索引内容是两个运算索引的并集。

Series的索引自动对齐

# 此处对于缺失值的处理采⽤默认⽅法,即对于⼆元运算⽅法

# 只要由⼀⽅没有数据,则⽤NaN填充,任何数据与NaN运算结果都是NaN

s1 = pd.Series({"A": 1, "B":2, "C":3, "D":4, "E":5}, name="ONE")

s2 = pd.Series({ "D":4, "E":5, "F":6, "G":7}, name="TWO")

# 采⽤运算符,此时缺失值只能使⽤默认的值

print("s1 + s2 =\n", s1 + s2)

# 想更换缺失值的处理内容,需要⽤到pandas的运算⽅法和fill—value参数

print("\n s1 + s2 =\n", s1.add(s2, fill_value=100))

s1 + s2 =

A NaN

B NaN

C NaN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值