我已经测试了很多场景,在每个场景中,df['colName']
都输出了与df.loc[:,'colName']
相同的东西。
我只是想确保它们确实完全相同。
答案 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()))