Pandas loc column 的详细介绍与应用
在数据分析和数据处理中,Pandas 是 Python 最受欢迎的库之一。它提供了高效的数据结构和数据分析工具,使得处理大规模数据变得简单快捷。本文将详细介绍 Pandas 中的 loc
方法,特别是如何使用它来访问 DataFrame 的列数据。loc
方法是基于标签的数据选择方法,非常适合处理带有标签的数据集。
1. loc
方法简介
在 Pandas 中,DataFrame.loc
允许你通过标签选择数据。它可以接受的输入包括:
- 单个标签
- 标签列表
- 标签范围切片
- 布尔数组
- 可调用函数
下面我们将通过多个示例详细介绍如何使用 loc
方法来选择和修改 DataFrame 中的列数据。
示例代码 1: 选择单列数据
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
result = df.loc[:, 'Name']
print(result)
Output:
示例代码 2: 选择多列数据
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
result = df.loc[:, ['Name', 'Email']]
print(result)
Output:
示例代码 3: 切片选择行和列
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
result = df.loc[0:1, 'Name':'Email']
print(result)
Output:
示例代码 4: 使用条件表达式选择数据
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
result = df.loc[df['Age'] > 25, ['Name', 'Email']]
print(result)
Output:
示例代码 5: 修改选定的列数据
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
df.loc[:, 'Age'] = [26, 31, 36]
print(df)
Output:
示例代码 6: 添加新列
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
df.loc[:, 'Location'] = ['New York', 'Los Angeles', 'Chicago']
print(df)
Output:
示例代码 7: 使用 loc
删除列
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
df.drop('Age', axis=1, inplace=True)
print(df)
Output:
示例代码 8: 使用 loc
和函数进行数据选择
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
result = df.loc[lambda df: df['Age'] > 25, :]
print(result)
Output:
示例代码 9: 复合条件选择数据
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data)
result = df.loc[(df['Age'] > 25) & (df['Name'].str.startswith('C')), :]
print(result)
Output:
示例代码 10: 选择特定索引的行数据
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Email': ['alice@pandasdataframe.com', 'bob@pandasdataframe.com', 'charlie@pandasdataframe.com']}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
result = df.loc['b', :]
print(result)
Output:
以上是 loc
方法在 Pandas 中的基本用法示例。通过这些示例,我们可以看到 loc
方法在数据选择和修改方面的强大功能。在实际的数据分析工作中,合理利用 loc
方法可以大大提高数据处理的效率和灵活性。