2017-10-16 43 views
0

假設我有一組列,並且我想將它們分組僅用於索引目的。例如,我有一個數據幀df,其中26列從["A",...,"Z"]調用,它的行是文檔中字母的出現位置。如何將pandas中的列按給定類別分組?

現在我想分割「元音」和「輔音」之間的數據框,以便我可以只用類似df["Vowels"]df[["Vowels"]]之類的元音獲得數據框。也就是說,有沒有多指標這個問題或任何其他熊貓工具的方法?我知道一個簡單的解決方案將定義Vowels=["a",..."y"],然後做df[Vowels],但我想使用熊貓功能,如果可用。

另一個例子是溫度的不同傳感器在不同的城市一時間序列和我想獲得一個表,看起來像這樣: enter image description here 所以,在我的分析,我可以做df[['City 1]].plot(),我可以快速導航在我的數據。

回答

2

是的,熊貓有一個強大的系統MultiIndexing。做你想要的東西的一種方法如下:

vowels = ['A','E','I','O','U','Y'] 
tuples = [('Vowel' if x in vowels else 'Consonant', x) for x in df.columns.tolist()] 
df.columns = pd.MultiIndex.from_tuples(tuples, names=['Kind', 'Letter']) 

首先你要元音的列表(可能需要包括字母帶重音符號,變音符號,等等,這取決於你的使用情況)。然後,製作第一個值爲'Vowel''Consonant'的元組列表,第二個值是列表中每個字母的字母。然後你從這些元組中創建一個MultiIndex。

相關問題