분석 된 뉴스 기사와 기사를 참조하는 각 행 및 해당 기사에 대한 정보 (예 : 톤)가있는 데이터 프레임이 있습니다. 해당 df의 한 열에는 해당 아티클에 언급 된 위치의 FIPS 국가 코드 목록이 포함되어 있습니다.Pandas 행 분리 목록의 열
이 국가 코드를 "추출"하여 각 언급 된 위치에 해당 위치가 참조 된 원래 행의 다른 열과 함께 자체 행이있는 데이터 프레임을 얻고 싶습니다. (여러 행이 있습니다. 동일한 정보가 있지만 동일한 위치에 다른 위치가 표시 될 수 있기 때문에 위치는 다릅니다.
나는 이와 같은 것을 시도했지만, iterrows()는 느리게 악명이 높기 때문에 이것을 수행하는 데 더 빠르고 효율적인 방법이 있습니까? 고마워요.
- '이벤트'위치
- 포함 된 열입니다 'event_cols가'나는 새 안양에서 유지하려면 원래 안양에서 열 수 있습니다.
- 'df_events는'I가 그룹
DataFrame
groupby()
와,apply
조합 및lambda
기능 목록을 분해 한 다음, 인덱스를 리셋 레벨 드롭 것이다
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()로 전환하는 제 문제에 대한 해결책을 발견 하였다 행 위치 [14] : # 정의 튜플에있는 위치의 위치 data.append (행 [0:13] + (위치,))' –
내 솔루션이 작동하지 않았습니까? 한 번 더 해보십시오. 더 효율적이고 컴팩트해질 수 있습니다. –