pandas数据框中.loc的目的是什么?

时间:2016-05-05 13:06:59

标签: python r pandas dataframe

我基本上是从R迁移到Python。我想根据列对我的数据框进行子集化。在经历堆栈溢出answer时,我找到了解决方案。

但请考虑以下代码:

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
                   'B': 'one one two three two two one three'.split(),
                   'C': np.arange(8), 'D': np.arange(8) * 2})

df1 = df[df['A'] == "foo"]
df1
df2 = df.loc[df['A'] == "foo"]
df2

df1和df2都相同。

所以我的问题是:首先对loc函数有什么要求。请记住,我来自R背景和R,我们不必使用loc类型函数来对数据框进行子集化。

2 个答案:

答案 0 :(得分:1)

我自己在学习大熊猫,所以请原谅那些不深入的答案。 .loc有一个'location'功能,允许你在R中的数据帧DF [1,3]中记下一个位置。或者允许你输入两个网格坐标,否则你只能有一个参数。

现在我错了,因为我看过大熊猫已经有一段时间了,正如我所提到的,我也只是在学习它。

它在网站上列为索引功能 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html

答案 1 :(得分:1)

loc方法提供对数据帧的直接访问,允许分配到数据帧的特定位置。这与生成数据帧的请求部分的副本的ix方法或括号表示法形成对比。结果是您无法通过这些方法对数据帧进行分配。 iloc方法与loc具有相同的特征。