1
我有一個數據框,其中包含分析的新聞文章瓦特/每行引用文章和列W /關於該文章(如音)的一些信息。 該df的一列包含該文章中提及的位置的FIPS國家/地區代碼列表。熊貓列分隔列
我想「提取」這些國家代碼,以便我得到一個數據幀,其中每個提到的位置都有自己的行,以及引用該位置的原始行的其他列(將有多行具有相同的信息,但位置不同,因爲同一篇文章可能會提到多個位置)。
我嘗試過這樣的事情,但iterrows()速度慢,所以有沒有更快/更有效的方式來做到這一點? 非常感謝。
- 「事件」是包含位置
- 列「event_cols」從原來的DF,我想在新的DF保留列。
- 「df_events」是新數據幀
for i, row in df.iterrows():
for location in df.events.loc[i]:
try:
df_storage = pd.DataFrame(row[event_cols]).T
df_storage['loc'] = location
df_events = df_events.append(df_storage)
except ValueError as e:
continue
我已經找到了解決我的問題,在切換到itertuples()使它神奇快:在df.itertuples() '數據= [] 用於行: 用於行位置[14]:#定義的位置在元組中的位置 data.append(row [0:13] +(location,))' –
我的解決方案不起作用嗎?請給它一個機會 - 它可能更高效,更緊湊。 –