Pandas DataFrame.loc[]详解及使用示例(12)

作者 : 慕源网 本文共3811个字,预计阅读时间需要10分钟 发布时间: 2021-11-30 共202人阅读

Pandas DataFrame.loc[]详解及使用示例(12)

Pandas DataFrame.loc[]介绍

数据帧是通过行、列格式制定的数据结构。总是需要在某些特定值、某些特定行之间进行定位,甚至需要向上钻取以在字段级别定位这些值。在 panda 的库中,这些功能是通过 Pandas DataFrame.loc[] 方法实现的。locate 方法允许我们以精确的方式可分类地定位数据帧中的每一行、每一列和每一字段。它还提供了为这些定位的实例设置值的功能。在本主题中,我们将了解 Pandas DataFrame.loc[]。

语法:

DataFrame.loc(locationvalue)

参数:

参数 描述
locationvalue 位置值是尝试定位的值,这里可以提到row_id 或row_id 与另一个row_id 的组合来定位特定数据。 

例如:loc(row_id)

这将返回提到的整个行。

 

Pandas DataFrame.loc[] 示例

以下是下面提到的以下示例

示例#1

代码:

import pandas as pd
Core_Dataframe = pd.DataFrame({'Emp_No' : ['Emp1','Emp2','Emp3','Emp4'],
'Employee_Name' :  ['Arun', 'selva', 'rakesh', 'arjith'],
'Employee_dept' : ['CAD', 'CAD', 'DEV', 'CAD']})
print(" THE CORE DATAFRAME ")
print(Core_Dataframe)
print("")
print(" OUTPUTS FROM CORE DATADRAME LOCATE")
print("")
print(Core_Dataframe.loc[0])
print("")
print(Core_Dataframe.loc[2:3])
print("")
print(Core_Dataframe.loc[3])

输出:

Pandas DataFrame.loc[]详解及使用示例(12)

说明:  在本例中,首先制定了核心数据帧。pd.dataframe() 用于制定数据帧。数据框的每一行都连同它们的列名一起插入。一旦数据框被完全公式化,它就会被打印到控制台上。

我们可以注意到在这种情况下,数据框包含员工编号、员工姓名和员工部门等详细信息。在这个数据帧上,Pandas DataFrame.loc[] 方法以三种方式应用,在第一种和第三种技术中,通过指定所涉及的索引来定位整行,在第二种技术中,通过在loc().

示例#2

代码:

import pandas as pd
Core_Dataframe = pd.DataFrame({'A' :  [ 1, 6, 11, 15, 21, 26],
'B' :  [2, 7, 12, 17, 22, 27],
'C' :  [3, 8, 13, 18, 23, 28],
'D' :  [4, 9, 14, 19, 24, 29],
'E' :  [5, 10, 15, 20, 25, 30]})
print("")
Core_Dataframe.rename(index= { 0 : 'Row1',
1 : 'Row2',
2 : 'Row3',
3 : 'Row4',
4 : 'Row5',
5 : 'Row6'} , inplace =True)
print(" THE CORE DATAFRAME ")
print(Core_Dataframe)
print("")
print(" CORE DATAFRAME LOCATE ")
print(Core_Dataframe.loc[Core_Dataframe['A'] > 10])

输出:

Pandas DataFrame.loc[]详解及使用示例(12)

说明:  在本例中,首先制定了核心数据帧。pd.dataframe() 用于制定数据帧。数据框的每一行都连同它们的列名一起插入。一旦数据框被完全公式化,它就会被打印到控制台上。我们可以注意到,在这种情况下,数据帧包含一组随机的数字和与其关联的列的字母值。这里 loc() 方法用于定位名为 ‘A’ 的第一列的值大于 10 的所有行。因此这些行单独打印到控制台。 

示例 #3

代码:

import pandas as pd
Core_Dataframe = pd.DataFrame( {
'name': ['Alan Xavier', 'Annabella', 'Janawong', 'Yistien', 'Robin sheperd', 'Amala paul', 'Nori'],
'city': ['california', 'Toronto', 'ontario', 'Shanghai',
'Manchester', 'Cairo', 'Osaka'],
'age': [51, 38, 23, 64, 18, 31, 47],
'py-score': [82.0, 73.0, 81.0, 30.0, 48.0, 61.0, 84.0] })
Core_Dataframe.set_index('name',inplace=True)
print("THE CORE DATAFRAME ")
print(Core_Dataframe)
print("")
print("CORE DATAFRAME LOCATE AND ALTER VALUE")
for iter in Core_Dataframe.iterrows():
if (Core_Dataframe.loc[iter[0],'py-score' ]) > 65:
Core_Dataframe.loc[iter[0], 'py-score' ] = 'pass'
print(Core_Dataframe)

输出:

Pandas DataFrame.loc[]详解及使用示例(12)

说明:  在本例中,首先制定了核心数据帧。pd.dataframe() 用于制定数据帧。数据框的每一行都连同它们的列名一起插入。一旦数据框被完全公式化,它就会被打印到控制台上。我们可以注意到,在这种情况下,数据帧包含随机人员信息和这些人的 py_score 值。

此数据框中使用的关键列是名称、年龄、城市和 py-score 值。这里数据帧中的每一行都通过 iterrows 函数进行迭代,当数据帧的 pyscore 大于 65 时,用户被视为“pass”,并且在 py-score 列中更新相同。更新后的数据帧打印到控制台。

示例 #4

代码:

import pandas as pd
Core_Dataframe = pd.DataFrame({'Column1' :  [ 'A', 'B', 'C', 'D', 'E', 'F'],
'Column2' :  [ 'G', 'H', 'I', 'J', 'K', 'L'],
'Column3' :  [ 'M', 'N', 'O', 'P', 'Q', 'R'],
'Column4' :  [ 'S', 'T', 'U', 'V', 'W', 'X'],
'Column5' :  [ 'Y', 'Z', None, None, None, None]})
print("")
Core_Dataframe.rename(index= { 0 : 'Row1',
1 : 'Row2',
2 : 'Row3',
3 : 'Row4',
4 : 'Row5',
5 : 'Row6'} , inplace =True)
print("THE CORE DATAFRAME ")
print(Core_Dataframe)
print("")
print("CORE DATAFRAME LOCATE ")
print(Core_Dataframe.loc[ 'Row6': 'column5' ])

输出:

Pandas DataFrame.loc[]详解及使用示例(12)

说明:  在本例中,首先制定了核心数据帧。pd.dataframe() 用于制定数据帧。数据框的每一行都连同它们的列名一起插入。一旦数据框被完全公式化,它就会被打印到控制台上。我们可以注意到,在这个例子中,数据框与英语词典中的字母值相关联。

字典中的每一列都标有合适的列名。这里的行索引和列索引用于从提到的数据帧中切片和定位一个特定的行。识别的行被打印到控制台上。 

示例#5

代码:

import pandas as pd
Core_Dataframe = pd.DataFrame({'A' :  [ 1.23, 6.66, 11.55, 15.44, 21.44, 26.4 ],
'B' :  [ 2.345, 745.5, 12.4, 17.34, 22.35, 27.44 ],
'C' :  [ 3.67, 8, 13.4, 18, 23, 28.44 ],
'D' :  [ 4.6788, 923.3, 14.5, 19, 24, 29.44 ],
'E' :  [ 5.3, 10.344, 15.556, 20.6775, 25.4455, 30.3 ]})
Core_Dataframe.rename(index= { 0 : 'Row1',
1 : 'Row2',
2 : 'Row3',
3 : 'Row4',
4 : 'Row5',
5 : 'Row6'} , inplace =True)
print(" THE CORE DATAFRAME ")
print(Core_Dataframe)
print("")
print(" CORE DATAFRAME LOCATE ONLY ONE COLUMN ")
print(Core_Dataframe.loc[ : , 'D' ])
print("")
print(" CORE DATAFRAME LOCATE ONLY ONE FIELD")
print(Core_Dataframe.loc[ 'Row1' , 'D' ])

输出:

Pandas DataFrame.loc[]详解及使用示例(12)

说明:  在本例中,首先制定了核心数据帧。pd.dataframe() 用于制定数据帧。数据框的每一行都连同它们的列名一起插入。一旦数据框被完全公式化,它就会被打印到控制台上。本例中使用了典型的浮动数据集。此示例显示了如何从 pandas 数据框中仅定位一特定列甚至一个特定字段。

结论

loc() 是 pandas 数据框中使用最广泛的函数,列出的示例提到了使用此函数的一些最有效的方法。


慕源网 » Pandas DataFrame.loc[]详解及使用示例(12)

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录