다음 df
과 같은 열 이있는 데이터 프레임 hashtags
이 있습니다.
df['hashtags']
>>>
0 NaN
1 NaN
2 ['COVID19']
3 ['COVID19']
4 ['CoronaVirusUpdates', 'COVID19']
...
132596 ['coronacrise', 'covid19', 'JN', 'NãoÉSóUmNúme...
132597 ['covid19']
132598 ['corona', 'covid19']
132599 NaN
132600 ['covid19']
Name: hashtags, Length: 132601, dtype: object
Nan
열의 모든 목록 요소 (제외 )를 포함하는 목록을 만들고 싶습니다 .
나는 다음과 같은 방법으로 목록을 만들려고 노력했습니다.
li = df['hashtags'].tolist()
그러나 그것은 목록을 문자열로 변환하고 문자열 목록으로 끝납니다. 예를 들면 :
li[:5]
>>>
[nan, nan, "['COVID19']", "['COVID19']", "['CoronaVirusUpdates', 'COVID19']"]
내가 원하는 출력 li[:5]
은 다음과 같습니다.
['COVID19', 'COVID19', 'CoronaVirusUpdates', 'COVID19', 'coronavirus', 'covid19']
아이디어는 먼저에 의해 누락 된 값을 제거한 Series.dropna
다음 목록 repr을 목록으로 변환 ast.literal_eval
하고 목록 이해에서 중첩 된 목록을 병합하는 것입니다.
df = pd.DataFrame({'hashtags':[np.nan, np.nan,
"['COVID19']", "['COVID19']",
"['CoronaVirusUpdates', 'COVID19']"]})
import ast
out = [y for x in df['hashtags'].dropna() for y in ast.literal_eval(x)]
print (out)
['COVID19', 'COVID19', 'CoronaVirusUpdates', 'COVID19']
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다