看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
在 pandas 中,DataFrame 和 Series 具有一些类似于字典的特性,这使得它们在操作和处理数据时非常方便。这些特性包括按键访问、键值对迭代等。下面我们详细讲解这些特性。
按键访问:
Series 对象可以像字典一样通过键(索引)来访问元素。
import pandas as pd
# 创建一个 Series
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
print(s['a']) # 输出: 1
键值对迭代:
Series 可以通过 items()
方法来迭代键值对。
for index, value in s.items():
print(f"Index: {index}, Value: {value}")
字典风格的 get 方法:
Series 也有 get
方法,可以安全地访问键,不存在的键返回 None 或指定的默认值。
print(s.get('a')) # 输出: 1
print(s.get('x')) # 输出: None
print(s.get('x', default=0)) # 输出: 0
按键访问列:
DataFrame 可以像字典一样通过列名(键)来访问列数据。
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6]
})
print(df['A']) # 输出: 列 'A' 的数据
键值对迭代:
DataFrame 可以通过 items()
方法迭代列名和列数据(Series)。
for column_name, column_data in df.items():
print(f"Column name: {column_name}")
print(column_data)
按键访问行:
DataFrame 还可以通过 loc
和 iloc
属性按行索引进行访问,这种方式类似于嵌套字典(第一级键是行索引,第二级键是列名)。
print(df.loc[0]) # 按行标签访问
print(df.iloc[0]) # 按行位置访问
字典风格的 pop 方法:
DataFrame 也有 pop
方法,可以移除指定的列并返回该列数据。
column_data = df.pop('A')
print(column_data) # 输出: 列 'A' 的数据
print(df) # 输出: 不包含列 'A' 的 DataFrame
update 方法:
DataFrame 和 Series 都有 update
方法,可以使用另一个 DataFrame 或 Series 来更新数据。
s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
s2 = pd.Series([4, 5], index=['a', 'b'])
s1.update(s2)
print(s1) # 输出: a 4, b 5, c 3
这些字典特性使得 pandas 的 Series 和 DataFrame 在处理数据时非常灵活和高效。通过利用这些特性,您可以更轻松地访问、更新和管理数据。
更新时间:2024-08-07 18:10:49 标签:pandas dataframe series 字典