我抓取了一張 SEC 檔案的表格,并提取了一個特定的行作為熊貓系列。
這些表格的格式不是很標準化,這使得抓取非常困難,因為也會提取不需要的資訊。
以我從表格中抓取的以下系列為例:
series = {'A': "3,360,003|", 'B': "(17) |", 'C': "16.8|"}
series = pd.Series(data=series, index=['A', 'B', 'C'])
與我相關的唯一資訊是包含逗號的資訊。有沒有辦法洗掉該系列中不包含逗號的所有其他條目?
可能存在多個帶??有逗號的條目的情況,例如
series = {'A': "3,360,003|", 'B': "(17,424,32) |", 'C': "16.8|"}
series = pd.Series(data=series, index=['A', 'B', 'C'])
在這種情況下,應保留包含逗號的第一個條目,而應洗掉所有其他條目。
非常感謝幫助
uj5u.com熱心網友回復:
用作.str.contains()布爾索引器;
s = series[series.str.contains(',', na=False)]
uj5u.com熱心網友回復:
如果你真的想使用 Series 方法,方法是:
series[series.str.contains(',')].iloc[0]
但是,這需要檢查所有元素,只保留一個。
一種更有效的方法(取決于確切的資料,可能存在不正確的極端情況),將使用 afilter并next獲取第一個元素。這比提供的示例快 100 倍以上。
next(filter(lambda x: ',' in x, series))
輸出: '3,360,003|'
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/412618.html
標籤:
