簡體   English   中英

如何訪問熊貓數據框單元格中字符串值的索引?

[英]How to access index of string value in a cell of pandas data frame?

我正在使用勞工統計局的數據,它看起來像這樣:

series_id           year    period         value
CES0000000001       2006    M01            135446.0

series_id[3][4]表示超扇區。 例如, CES10xxxxxx01將是Mining & Logging 我關注 15 個超扇區,因此我想為每個超扇區創建 15 個單獨的數據框以執行時間序列分析。 所以我試圖將每個值作為一個列表來訪問,以實現以下目標:

# *psuedocode*:
mining_and_logging = df[df.series_id[3]==1 and df.series_id[4]==0]

我可以避免編寫一個 for 循環,將每個值轉換為列表,然后按索引訪問並將行添加到新數據幀嗎?

我怎樣才能做到這一點?

執行您想要的操作並通過for循環遞歸存儲數據幀的一種for可能是:

首先,創建一個輔助列,讓您的生活更輕松:

df['id'] = df['series_id'][3:5] #Exctract characters 3 and 4 of every string (counting from zero)

然后,您創建一個空字典並填充它:

dict_df = {}
for unique_id in df.id.unique():
    dict_df[unique_id] = df[df.id == unique_id]

現在您將擁有一個包含 15 個數據框的字典。 例如,如果要調用與id = 01 關聯的數據幀,只需執行以下操作:

dict_df['01']

希望能幫助到你 !

通過結合 Juan C 和 G. Anderson 的答案解決了這個問題。

選擇第 3 個和第 4 個字符:

    df['id'] = df.series_id.str.slice(start=3, stop=5)

然后執行以下操作來創建數據幀:

    dict_df = {}
    for unique_id in df.id.unique():
        dict_df[unique_id] = df[df.id == unique_id]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM