熊市猫DataFrame位置[] Python中的属性
熊市猫DataFrame位置[] 函数用于通过标签或布尔数组访问一组行和列。 loc()方法主要基于标签完成,但是布尔数组也可以执行此操作。输入可以是各种类型,例如单个标签,例如9或“ x”,或者任何其他单个值可以是任何类型。它可以是列表或标签数组。前– [‘a’,’ b’,’ c’, ‘d’],也可以是布尔数组。前 [False, True, False]。
了解Pandas DataFrame位置
Pandas DataFrame loc是一种独特的方法,该方法获取索引标签并在调用方DataFrame中存在索引标签时返回row或DataFrame。 Pandas DataFrame定位为访问行和列组。
句法
DataFrame.loc[]
参量
以下是一些允许的输入:
- 单个标签–将行作为Series对象返回。
- 标签列表–返回选定行的DataFrame。
- 带标签的切片–返回带有指定行的系列,包括开始和结束标签。
- 布尔数组–返回DataFrame的True标签;数组的长度必须与所选轴的长度相同。
- 条件语句或Lambda函数–它返回有效值以选择要返回的行和列。
返回值
熊市猫位置[] 根据输入返回标量值,序列或DataFrame。
例
编写一个程序来演示loc()方法在Python中的工作。
import pandas as pd dataset = { 'Name': ['Rohit', 'Mohit', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '03', '04', '05', '09'], 'Maths': ['93', '63', '74', '94', '83'], 'Science': ['88', '55', '66', '94', '35'], 'English': ['93', '74', '84', '92', '87']} # Changing the above dictionary into dataframe df = pd.DataFrame(dataset) # Setting index values index_values = ['1', '2', '3', '4', '5'] # Matching the index with the dataset df.index = index_values print("Dataframe:nn") print(df) # Now trying to access Sohit marks in maths only using loc() result_dataframe = df.loc['3', 'maths'] print("nn Marks of Sohit in Maths:", result_dataframe)
输出量
Dataframe: Name Roll no Maths Science English 1 Rohit 01 93 88 93 2 Mohit 03 63 55 74 3 Sohit 04 74 66 84 4 Arun 05 94 94 92 5 Shubh 09 83 35 87 Marks of Sohit in Maths: 74
在上面的示例中,我们看到我们创建了一个字典来存储学生的小型数据集,其中包括学生的姓名,并且在数学,科学和英语等不同学科中均未取得任何成绩。假设我们要提取特定学科的单个学生的成绩,然后可以使用loc()方法并传递学生姓名和想要获得所需输出的列。
使用loc访问多个DataFrame列[]
编写一个使用loc()函数返回多列的程序。
import pandas as pd dataset = { 'Name': ['Rohit', 'Mohit', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '03', '04', '05', '09'], 'maths': ['93', '63', '74', '94', '83'], 'science': ['88', '55', '66', '94', '35'], 'english': ['93', '74', '84', '92', '87']} # Changing the above dictionary into dataframe df = pd.DataFrame(dataset) # Setting index values index_values = ['1', '2', '3', '4', '5'] # Matching the index with the dataset df.index = index_values print("Dataframe:nn") print(df) # Now trying to return multiple columns result_dataframe = df.loc[:, ['Roll no', 'maths']] print("nn Multiple Columns:n", result_dataframe)
输出量
Dataframe: Name Roll no maths science english 1 Rohit 01 93 88 93 2 Mohit 03 63 55 74 3 Sohit 04 74 66 84 4 Arun 05 94 94 92 5 Shubh 09 83 35 87 Multiple Columns: Roll no maths 1 01 93 2 03 63 3 04 74 4 05 94 5 09 83
在上面的示例中,我们可以看到我们已经在同一学生的数据集上使用loc()函数返回了多列。我们返回的列是5列中的成交量数和数学。我们可以通过将第一个参数保留为空,将第二个参数保留为要返回的列名(以’:’分隔)来返回多列。
熊市猫DataFrame位置[] 在Jupyter笔记本上
Jupyter Notebook是开源Web应用程序,使我们能够创建和共享包含方程式,可视化,实时代码和叙述性文本的文档,这些文档包括数据清理和转换,数值模拟,统计建模,数据可视化,机器学习和多得多。
让我们创建一个笔记本并导入熊市猫。
import pandas as pd
现在,我们将使用rating.csv数据集。你可以在这里下载。
我们的下一步将是使用Pandas的read_csv()函数创建一个DataFrame。
df = pd.read_csv('ratings.csv') df.head()
我们必须使用DataFrame.head()函数选择前五行,因为DataFrame非常大,而且我们不需要显示完整的DataFrame。
现在,让我们使用Pandas loc访问行和列[]。
位置[] 在DataFrame中使用单个标签
我们可以使用Pandas DataFrame中的单个标签来访问它。
df.loc[1]
它返回Series对象中DataFrame的第一行。
我们可以使用type()函数查看对象的类型。
获得单一价值
我们可以通过指定DataFrame行和列标签来获得单个值。
让我们找到第5行和索引4的placeID。
您可以看到我们得到了placeID的值,即135104。
熊市猫地方[] 有条件语句
我们可以使用条件语句获取DataFrame值。
假设,我们希望前五行的food_rating> 1。
df.loc[df['food_rating'] > 1].head()
在输出中,您可以看到前五行的food_rating> 1。
具有Lambda函数的Pandas DataFrame loc
Python Lambda函数是没有名称定义的函数。我们可以使用loc[] 使用lambda函数。
df.loc[lambda df1: df1['userID'] == 'U1077']
我们已经定义并在loc中调用了lambda函数[] 获取唯一的用户ID为U1077的行。
使用loc设置DataFrame值[]
我们可以使用loc设置DataFrame值[] 属性。
我们可以通过指定行和列标签来设置特定索引的值来设置单个值。
df.loc[1, 'rating'] = 3 df.head()
您可以看到我们已将1个索引行的等级从2更改为3。我们更新的DataFrame反映了该值。
我们可以为整个行设置值。
让我们为用户ID U1068分配Python None值。
df.loc[2] = None df.head()
您可以在第三行的值中看到字符串变成了None,数字值变成了NaN。
结论
Python DataFrame位置[] 属性是有用的,因为我们可以获取特定值并设置值。使用loc支持条件参数和lambda表达式[] 属性使它成为强大的资源。
也可以看看
熊市猫DataFrame iloc[]
如何在Pandas DataFrame中选择行
如何在Pandas DataFrame中迭代行