目录
1 访问和删除pandas series中的元素
1.1 如何访问 Pandas Series 中的元素。
Pandas Series 的一大优势是我们能够以很多不同的方式访问数据。
我们可以通过在方括号 [ ] 内添加索引标签或数字索引访问元素,就像访问 NumPy ndarray 中的元素一样。
因为我们可以使用数字索引,因此可以使用正整数从 Series 的开头访问数据,或使用负整数从末尾访问。
In [1]:
import pandas as pd
In [2]:
groceries = pd.Series(data=[30,6,'yes','no'], index = ['eggs','apples','milk','bread']) groceries
Out[2]:
eggs 30 apples 6 milk yes bread no dtype: object
In [3]:
groceries['eggs']
Out[3]:
30
In [4]:
groceries[['eggs','milk']]
Out[4]:
eggs 30 milk yes dtype: object
In [5]:
groceries[0]
Out[5]:
30
In [6]:
groceries[-1]
Out[6]:
'no'
In [7]:
groceries[[0,1]]
Out[7]:
eggs 30 apples 6 dtype: object
因为我们可以通过多种方式访问元素,为了清晰地表明我们指代的是索引标签还是数字索引,Pandas Series 提供了两个属性 .loc 和 .iloc,帮助我们清晰地表明指代哪种情况。
属性 .loc 表示 位置,用于明确表明我们使用的是标签索引。同样,属性 .iloc 表示整型位置,用于明确表明我们使用的是数字索引。我们来看一些示例:
In [8]:
groceries.iloc[[0,1]]
Out[8]:
eggs 30 apples 6 dtype: object
In [9]:
groceries.loc['eggs']
Out[9]:
30
和 NumPy ndarray 一样,Pandas Series 也是可变的,也就是说,创建好 Pandas Series 后,我们可以更改其中的元素。
例如,我们更改下购物清单中的鸡蛋购买数量。
1.2 如何修改 Pandas Series 中的元素。
In [10]:
groceries['eggs'] = 2 groceries
Out[10]:
eggs 2 apples 6 milk yes bread no dtype: object
我们还可以使用 .drop() 方法删除 Pandas Series 中的条目。
Series.drop(label) 方法会从给定 Series 中删除给定的 label。
请注意,Series.drop(label) 方法不在原地地从 Series 中删除元素,即不会更改被修改的原始 Series。
我们可以通过在 .drop() 方法中将关键字 inplace 设为 True,原地地从 Pandas Series 中删除条目。我们来看一个示例:
In [11]:
groceries.drop('apples',inplace=True)
In [12]:
groceries
Out[12]:
eggs 2 milk yes bread no dtype: object