Python和熊猫:df [“ colName”]完全等同于df.loc [:,“ colName”]吗?

时间:2020-07-03 18:39:33

标签: python pandas

我已经测试了很多场景,在每个场景中,df['colName']都输出了与df.loc[:,'colName']相同的东西。

我只是想确保它们确实完全相同。

2 个答案:

答案 0 :(得分:0)

是的,他们做同样的事情。

df['colName']将返回方括号中指定的列,
df.loc['rowName']将返回方括号中指定的行。
df.loc['row1Name':'row2Name','colName']将返回列的所有元素 在括号中指定,从指定的第一行到指定的最后一行。

df.loc[:,'colName']基本上是在告诉python返回指定列中的所有元素 从所有行开始,因此,它将返回整列。

请注意,解析过程可能有所不同,一种方法可能比另一种方法更有效。

答案 1 :(得分:0)

在提供输出方面它们是相同的,但是在性能上有所不同。尝试下面的示例并观察。

import pandas as pd
import timeit

df = pd.DataFrame({"colName": range(1000000)}, index=range(1000000))
print("with .loc: ", timeit.timeit('df.loc[:, "colName"]', globals=globals()))
print("without .loc: ", timeit.timeit('df["colName"]', globals=globals()))