2017-07-24 60 views
0

感興趣的列被創建這樣這個

In [2]: ebola_melt['str_split'] = ebola_melt['type_country'] 
    .str.split('_') 
    In [3]: print(type(ebola_melt['str_split'])) 
    <class 'pandas.core.series.Series'> 

獲得(0)與名爲.str法塗布

In [4]: ebola_melt['str_split'].str.get(0) 
    Out[4]: 
    0  Cases 
    1  Cases 
    2  Cases 
    3  Cases 
    4  Cases 
     ... 

。獲得的數據

In [1]: print(type(ebola_melt)) 
    <class 'pandas.core.frame.DataFrame'> 
的類型(0 )不使用.str方法
In [5]: ebola_melt['str_split'].get(0) 
    Out[5]: ['Cases', 'Guinea'] 
+1

究竟什麼是你的問題?如果是關於獲得的差異; 'str.get'是從每行*中獲取元素的矢量化方式,而'Series.get'獲取特定行*的索引。 – ayhan

+0

我期待str.get的結果與Series.get的結果相同。我的問題是爲什麼str.get方法將該系列向量化,有沒有我可以得到的任何洞察力?感謝快速響應順便說一句 – GoiVaGoi

回答

0

pandas.Series.str.get從Series/Index中的列表中提取元素。

pandas.Series.get會從對象的項目對於給定的索引值

請參考文檔 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.get.htmlhttps://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.get.html

所以,

ebola_melt['str_split'] #contains ['Cases', 'Guinea'] 
    ebola_melt['str_split'].str.get(0) #returns the values present in the zeorth index of all rows which is Cases 
    ebola_melt['str_split'].get(0) #returns the row present in the zeorth index 
    ebola_melt['str_split'].get #returns the all the rows