Pandas DataFrame 取值方法:详解 7 种常用技巧
Pandas DataFrame 取值方法:详解 7 种常用技巧
Pandas DataFrame 是数据分析中常用的数据结构,灵活的取值方式是其一大优势。本文将详细介绍 7 种常用的 Pandas DataFrame 取值方法,并附带示例代码。
1. 使用 loc 方法:
使用行标签和列标签进行取值。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 取 'a' 行的 'A' 列
print(df.loc['a', 'A'])
# 取 'a' 行和 'B' 列
print(df.loc['a', 'B'])
# 取 'a' 行和 'A'、'B' 列
print(df.loc['a', ['A', 'B']])
# 取 'a' 和 'b' 行的所有列
print(df.loc[['a', 'b'], :])
2. 使用 iloc 方法:
使用行索引和列索引进行取值。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 取第一行的第一列
print(df.iloc[0, 0])
# 取第二行的第二列
print(df.iloc[1, 1])
# 取第一行和第二列
print(df.iloc[0, 1])
# 取第一行和第二列
print(df.iloc[[0, 1], 1])
# 取所有行的第一列
print(df.iloc[:, 0])
3. 使用 at 方法:
使用行标签和列标签进行单个元素的取值。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 取 'a' 行的 'A' 列
print(df.at['a', 'A'])
4. 使用 iat 方法:
使用行索引和列索引进行单个元素的取值。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 取第一行的第一列
print(df.iat[0, 0])
5. 使用 [] 操作符:
可以使用列名或列索引进行列的取值,也可以使用切片或布尔索引进行行的取值。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 取 'A' 列
print(df['A'])
# 取第一列
print(df[0])
# 取前两行
print(df[:2])
# 取 'B' 列大于 5 的行
print(df[df['B'] > 5])
6. 使用 query 方法:
使用布尔表达式进行行的筛选。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 取 'B' 列大于 5 的行
print(df.query('B > 5'))
7. 使用 filter 方法:
使用列名或正则表达式进行列的筛选。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['a', 'b', 'c'])
# 取列名包含 'A' 的列
print(df.filter(regex='A'))
# 取列名以 'B' 开头的列
print(df.filter(regex='^B'))
总结
本文介绍了 Pandas DataFrame 的 7 种常用取值方法,每种方法都有其适用场景。建议根据实际需求选择合适的取值方法,以提高数据处理效率。
原文地址: https://www.cveoy.top/t/topic/mUgX 著作权归作者所有。请勿转载和采集!