Pandas loc和iloc的详细介绍

Pandas loc和iloc的详细介绍

参考:pandas loc and iloc

在数据分析和数据处理中,pandas是Python编程语言中最受欢迎和最强大的库之一。pandas提供了大量的功能来进行数据操作,其中lociloc是进行数据选择和修改的两个非常重要的工具。本文将详细介绍lociloc的使用方法,并通过多个示例代码来展示它们的实际应用。

1. pandas DataFrame简介

在深入了解lociloc之前,我们首先需要理解pandas中的DataFrame。DataFrame是pandas中的一种数据结构,它是一个二维标签数据结构,可以想象成一个表格或者说是Excel中的一个工作表。DataFrame不仅可以存储不同类型的列,如整数、浮点数、字符串等,还支持复杂的操作,如合并、重塑、分组、排序等。

2. 使用loc进行标签选择

loc是基于标签的选择方法,意味着我们在使用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和iloc的详细介绍

示例代码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和iloc的详细介绍

示例代码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和iloc的详细介绍

示例代码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.com3', ['Name', 'Age']]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码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[df['Age'] > 30]
print(result)

Output:

Pandas loc和iloc的详细介绍

3. 使用iloc进行位置选择

loc不同,iloc是基于整数位置的选择方法,这意味着我们使用行和列的整数索引来选择数据。

示例代码6:选择单个行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[0]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码7:选择多个行

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[[0, 2]]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码8:选择行和列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[1, 1]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码9:选择行和多个列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[2, [0, 1]]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码10:切片选择

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[0:2]
print(result)

Output:

Pandas loc和iloc的详细介绍

4. loc和iloc的高级用法

在实际应用中,我们经常需要根据复杂的条件来选择数据。lociloc提供了强大的功能来支持这些操作。

示例代码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'])
result = df.loc['pandasdataframe.com1':'pandasdataframe.com3', df.columns[df.columns != 'Age']]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码12:使用iloc与布尔数组

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
bool_arr = [True, False, True]
result = df.iloc[bool_arr]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码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'])
df.loc['pandasdataframe.com1', 'Age'] = 26
print(df)

Output:

Pandas loc和iloc的详细介绍

示例代码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.loc[:, 'Gender'] = ['Female', 'Male', 'Male']
print(df)

Output:

Pandas loc和iloc的详细介绍

示例代码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.drop('pandasdataframe.com1')
print(df)

Output:

Pandas loc和iloc的详细介绍

示例代码16:使用iloc进行复杂的行列选择

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[1:3, 0:2]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码17:使用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'].apply(lambda x: x > 25)]
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码18:使用iloc与步长

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[::2]  # 选择间隔行
print(result)

Output:

Pandas loc和iloc的详细介绍

示例代码19:使用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和iloc的详细介绍

示例代码20:使用iloc来修改多行数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
df.iloc[0:2, 1] = [26, 31]  # 修改第0行和第1行的年龄
print(df)

Output:

Pandas loc和iloc的详细介绍

6. 结论

在本文中,我们详细探讨了pandas中的lociloc函数。这两个函数是数据处理中非常重要的工具,它们提供了基于标签和基于位置的数据选择方法,使得数据操作变得更加灵活和高效。通过本文提供的示例代码,读者可以更好地理解这两个函数的使用场景和方法,从而在实际的数据处理工作中更加得心应手。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程