pandas loc 详细介绍

pandas loc 详细介绍

参考:pandas loc

Pandas 是一个强大的 Python 数据分析工具库,它提供了大量的功能来处理和分析数据。其中,loc 方法是用于数据选择和修改的重要工具之一。本文将详细介绍 loc 方法的使用方式,包括基本的数据选择、条件筛选、赋值操作等,并通过多个示例代码来展示其应用。

1. 基本概念

pandas 中,DataFrame 是一种表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame 可以被看作是由共享相同索引的 Series 组成的字典。

loc 属性是用来访问 DataFrame 中的特定数据。loc 使用行标签和列标签来定位数据,这是它与 iloc 的主要区别,后者使用行和列的整数索引来进行数据访问。

2. 使用 loc 选择数据

示例代码 1:选择单个行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc['pandasdataframe.com1']
print(result)

Output:

pandas loc 详细介绍

示例代码 2:选择多个行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc[['pandasdataframe.com1', 'pandasdataframe.com3']]
print(result)

Output:

pandas loc 详细介绍

示例代码 3:选择行和列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc['pandasdataframe.com2', 'Age']
print(result)

Output:

pandas loc 详细介绍

示例代码 4:选择多行和多列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc[['pandasdataframe.com1', 'pandasdataframe.com3'], ['Name', 'Age']]
print(result)

Output:

pandas loc 详细介绍

示例代码 5:切片行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc['pandasdataframe.com1':'pandasdataframe.com3']
print(result)

Output:

pandas loc 详细介绍

3. 使用 loc 进行条件筛选

示例代码 6:单条件筛选

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc[df['Age'] > 30]
print(result)

Output:

pandas loc 详细介绍

示例代码 7:多条件筛选

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc[(df['Age'] > 25) & (df['Name'] == 'Bob')]
print(result)

Output:

pandas loc 详细介绍

示例代码 8:使用 isin 方法筛选

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc[df['Name'].isin(['Alice', 'Charlie'])]
print(result)

Output:

pandas loc 详细介绍

4. 使用 loc 进行赋值

示例代码 9:修改单个值

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df.loc['pandasdataframe.com1', 'Age'] = 26
print(df)

Output:

pandas loc 详细介绍

示例代码 10:修改整行数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df.loc['pandasdataframe.com2'] = ['Robert', 32]
print(df)

Output:

pandas loc 详细介绍

示例代码 11:修改多行数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df.loc[df['Age'] > 25, 'Age'] = [31, 36]
print(df)

Output:

pandas loc 详细介绍

5. 使用 loc 添加新行

示例代码 12:添加单个新行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df.loc['pandasdataframe.com4'] = ['David', 40]
print(df)

Output:

pandas loc 详细介绍

示例代码 13:添加多个新行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
new_rows = pd.DataFrame({'Name': ['Eve', 'Frank'], 'Age': [28, 33]}, index=['pandasdataframe.com4', 'pandasdataframe.com5'])
df = pd.concat([df, new_rows])
print(df)

Output:

pandas loc 详细介绍

6. 使用 loc 删除数据

示例代码 14:删除行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df = df.drop('pandasdataframe.com1')
print(df)

Output:

pandas loc 详细介绍

示例代码 15:条件删除行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df = df.loc[df['Age'] != 30]
print(df)

Output:

pandas loc 详细介绍

7. 使用 loc 进行复杂的数据操作

示例代码 16:使用 loc 进行复合操作

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df.loc['pandasdataframe.com1', 'Age'] = 26
df.loc['pandasdataframe.com3', 'Name'] = 'Chuck'
print(df)

Output:

pandas loc 详细介绍

示例代码 17:使用 loc 与 lambda 函数

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df.loc[:, 'Age'] = df.loc[:, 'Age'].apply(lambda x: x + 1)
print(df)

Output:

pandas loc 详细介绍

示例代码 18:使用 loc 进行行列同时筛选和赋值

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df.loc[df['Age'] > 25, 'Name'] = 'Senior'
print(df)

Output:

pandas loc 详细介绍

示例代码 19:使用 loc 对 DataFrame 进行排序后选择

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [35, 25, 30]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
df_sorted = df.sort_values(by='Age')
result = df_sorted.loc['pandasdataframe.com1':'pandasdataframe.com2']
print(result)

Output:

pandas loc 详细介绍

示例代码 20:使用 loc 进行复杂条件筛选

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['pandasdataframe.com1', 'pandasdataframe.com2', 'pandasdataframe.com3'])
result = df.loc[(df['Age'] > 25) & (df['Name'].str.startswith('C'))]
print(result)

Output:

pandas loc 详细介绍

总结

本文详细介绍了 pandas 的 loc 方法,展示了其在数据选择、修改、赋值以及删除等方面的强大功能。通过多个示例代码,我们可以看到 loc 方法在数据处理中的灵活性和实用性。掌握 loc 方法,将有助于我们更高效地进行数据分析和数据处理任务。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程