当打开一个Excel表,里面的数据不一定都是我们想要的,有时候只需要某几行或者某几列,在excel中操作很简单,只需要按住鼠标在目标拖动即可,但在pandas库中操作中有些许麻烦,但pandas是Python编程语言中用于数据操作的强大库,特别适用于数据处理和分析。在pandas中有以下常用的两种方法。
.loc是基于标签进行选择的,这意味着它通过行和列的标签(名称)来选择数据。它的语法是df.loc[row_labels, column_labels]。
* `row_labels`:可以是单个标签名称或一个标签名称的列表,表示要选择的行。如果提供的是一个列表,那么返回的结果将是一个多层次索引的数据。
* `column_labels`:同样可以是单个标签名称或一个标签名称的列表,表示要选择的列。如果省略,则选择所有列。注意,列的顺序会根据它们在DataFrame中出现的顺序进行保持。
例如:如果我们有一个名为`df`的DataFrame,那么`df.loc['A']`将选择第一行,而`df.loc[:, 'B']`将选择所有行和第二列。
下面是一个例子:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'], 'Age': [20, 21, 19, 18]}
df = pd.DataFrame(data)
# 使用.loc选择名为'Tom'的所有行
print(df.loc[df['Name'] == 'Tom'])
.iloc是基于整数位置进行选择的,它通过行和列的整数位置来选择数据。它的语法是df.iloc[row_positions, column_positions]。
* `row_positions`:可以选择单个整数位置或一个整数位置的列表,表示要选择的行。注意,这里的位置是从0开始计数的。如果省略,则选择所有行。
* `column_positions`:同理,可以选择单个整数位置或一个整数位置的列表,表示要选择的列。如果省略,则选择所有列。
例如:如果我们有一个名为`df`的DataFrame,那么`df.iloc[0]`将选择第一行,而`df.iloc[:, 1]`将选择所有行和第二列。
下面是一个例子:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'], 'Age': [20, 21, 19, 18]}
df = pd.DataFrame(data)
# 使用.iloc选择第一行和第二列
print(df.iloc[0, 1])
注意,.loc和.iloc都是包含开始索引和结束索引的区间(闭区间),这与Python中的标准切片行为略有不同,后者通常是左闭右开区间。此外,.loc可以接受布尔数组作为行标签,而.iloc不能。这使得.loc在某些情况下更加灵活。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved