📜  Python|熊猫 Series.select()(1)

📅  最后修改于: 2023-12-03 15:34:20.437000             🧑  作者: Mango

Python | 熊猫 Series.select()介绍

简介

在 Pandas 中,Series.select() 方法用于根据索引标签、索引位置或布尔条件选择一部分数据。该方法类似于 [] 运算符,但更强大,可以轻松选择多个数据行。

语法

Series.select(self, crit, axis=0, inplace=False)

参数说明:

  • crit:选择数据的标签、位置或条件;
  • axis:默认值为 0,表示按行选择,为 1 时表示按列选择;
  • inplace:默认值为 False,表示原始数据不受影响;为 True 时则更改原始数据。
用法举例
选择数据行
import pandas as pd

data = {"年份": [2017, 2018, 2019, 2020, 2021], 
        "销售额(亿)": [10.2, 12.8, 14.1, 16.2, 17.8], 
        "利润率(%)": [15.28, 16.93, 18.29, 19.08, 20.14]}
df = pd.DataFrame(data)
s = df.iloc[3]

print(df.select('年份')) # 选择 '年份' 列的数据
print(df.select('2019')) # 选择 索引标签为 2019 的数据
print(df.select(3)) # 选择 索引位置为 3 的数据
print(df.select(s)) # 选择 等于 s 的数据行

返回结果:

2017
0    2019
Name: 年份, dtype: int64
3
   年份  销售额(亿)  利润率(%)
3  2020     16.2    19.08
选择数据列
import pandas as pd

data = {"年份": [2017, 2018, 2019, 2020, 2021], 
        "销售额(亿)": [10.2, 12.8, 14.1, 16.2, 17.8], 
        "利润率(%)": [15.28, 16.93, 18.29, 19.08, 20.14]}
df = pd.DataFrame(data)

print(df.select(['年份', '利润率(%)'], axis=1)) # 选择 '年份' 和 '利润率(%)' 两列数据

返回结果:

    年份  利润率(%)
0  2017    15.28
1  2018    16.93
2  2019    18.29
3  2020    19.08
4  2021    20.14
更改原始数据
import pandas as pd

data = {"年份": [2017, 2018, 2019, 2020, 2021], 
        "销售额(亿)": [10.2, 12.8, 14.1, 16.2, 17.8], 
        "利润率(%)": [15.28, 16.93, 18.29, 19.08, 20.14]}
df = pd.DataFrame(data)

df.select(['年份', '利润率(%)'], axis=1, inplace=True)
print(df) # 对原始数据更改,只保留 '年份' 和 '利润率(%)' 两列

返回结果:

     年份  利润率(%)
0  2017    15.28
1  2018    16.93
2  2019    18.29
3  2020    19.08
4  2021    20.14
总结

Series.select() 方法能够方便地根据索引标签、索引位置或布尔条件选择数据。除了 [] 运算符之外,提供了更灵活的数据选择方式。在使用时可以熟练掌握其参数,并注意更改原始数据时需要谨慎操作。