2016-05-05 80 views
-2

我基本上是從R遷移到Python。我想基於列來對數據框進行子集化。當遇到堆棧溢出answer時,我找到了一個解決方案。熊貓數據框中.loc的用途

但考慮下面的代碼:

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類型函數來對數據幀進行子集化。

+0

請閱讀[本](http://pandas.pydata.org/pandas-docs/stable/indexing.html#different-choices-for-indexing)和[this](http://pandas.pydata。 org/pandas-docs/stable/indexing.html#indexing-view-versus-copy)如果您還有其他問題,請編輯您的問題 – EdChum

回答

1

我自己在學習熊貓,所以請原諒這個答案不是特別深入的。 .loc具有'位置'功能,允許您在R中的數據框DF [1,3]中記錄一個位置,或者允許您放入兩個網格座標,否則只能有一個參數。

現在我可能會錯,因爲我已經看過熊貓一段時間了,正如我剛纔提到的,我也只是在學習它。

它被列爲索引功能的網站 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html

1

的LOC方法上給出的數據幀,允許分配給數據幀的特定位置的直接訪問。這與生成數據幀的請求部分的副本的ix方法或括號表示形成對比。結果是,您無法通過這些方法分配數據幀。 iloc方法與loc具有相同的特徵。