pandas dataframe loc 示例
参考:pandas dataframe loc example
在数据分析和处理中,pandas 是一个非常强大的 Python 数据处理库。其中,DataFrame 是 pandas 中最常用的数据结构之一,它是一个二维的表格数据结构。在处理 DataFrame 数据时,经常需要根据行或列的标签来选择数据,这时 loc
方法就显得尤为重要。本文将详细介绍 pandas DataFrame 的 loc
方法的使用,包括基本用法和高级应用,并提供多个示例代码以帮助理解。
基本用法
loc
方法主要用于通过行标签和列标签来选择数据。其基本语法如下:
dataframe.loc[row_labels, column_labels]
其中 row_labels
和 column_labels
可以是标签名或者标签名的列表,也可以是标签名的切片对象。
示例代码1:选择单个行
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[0]
print(result)
Output:
示例代码2:选择多个行
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[[0, 2]]
print(result)
Output:
示例代码3:选择行的切片
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[0:1]
print(result)
Output:
示例代码4:选择单个列
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[:, 'website']
print(result)
Output:
示例代码5:选择多个列
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[:, ['website', 'visits']]
print(result)
Output:
高级用法
除了基本的行列选择外,loc
方法还支持更复杂的数据选择方式,如基于条件的选择、选择特定行列的交叉数据等。
示例代码6:基于条件的选择
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[df['visits'] > 900]
print(result)
Output:
示例代码7:选择特定行列的交叉数据
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[df['visits'] > 900, 'website']
print(result)
Output:
示例代码8:使用切片和条件组合选择
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[0:2, df.columns != 'visits']
print(result)
Output:
示例代码9:使用 isin
方法进行选择
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
result = df.loc[df['website'].isin(['pandasdataframe.com', 'test.com'])]
print(result)
Output:
示例代码10:使用 loc
更新数据
import pandas as pd
data = {
'website': ['pandasdataframe.com', 'example.com', 'test.com'],
'visits': [1000, 1500, 800]
}
df = pd.DataFrame(data)
df.loc[0, 'visits'] = 1200
print(df)
Output:
结论
通过上述示例可以看出,loc
方法是 pandas DataFrame 中非常强大的数据选择工具。它不仅可以进行简单的行列选择,还可以进行基于条件的复杂数据选择。掌握 loc
方法的使用,可以大大提高数据处理的效率和灵活性。