문자열의 단어를 기반으로 DataFrame에서 행 제거

Beatriz Alves

도움을 구하는 초보자 프로그래머. 다음과 같은 Dataframe이 있습니다.

           Current
0  "Invest in $APPL, $FB and $AMZN"      
1  "Long $AAPL, Short $AMZN"              
2  "$AAPL earnings announcement soon"             
3  "$FB is releasing a new product. Will $FB's product be good?"
4  "$Fb doing good today"
5  "$AMZN high today. Will $amzn continue like this?"

또한 모든 해시 태그가있는 목록이 있습니다. cashtags = ["$AAPL", "$FB", $AMZN"]

기본적으로 DataFrame의이 열에있는 모든 행을 살펴보고 대문자 여부에 관계없이 고유 한 현금 태그로 행을 유지하고 다른 모든 행을 삭제하고 싶습니다. 원하는 출력 :

           Desired
2  "$AAPL earnings announcement soon"             
3  "$FB is releasing a new product. Will $FB's product be good?"
4  "$Fb doing good today"
5  "$AMZN high today. Will $amzn continue like this?"

기본적으로 단어가 문자열에 나타나는 횟수를 계산하고 해당 값을 새 열에 추가하여 숫자에 따라 행을 삭제할 수 있도록했습니다.

for i in range(0,len(df)-1):
    print(i, end = "\r")
    tweet = df["Current"][i]
    count = 0
    for word in cashtags:
        count += str(tweet).count(word)
    df["Word_count"][i] = count

그러나 이렇게하면 원하지 않는 행을 삭제합니다. 예를 들어, 고유 한 현금 태그가 여러 번 언급 된 행 ([3], [5])

원하는 결과를 얻으려면 어떻게해야합니까?

Tomjn

질문을 태그로 일반화하려는 경우 정규 표현식을 사용하는 것이 좋습니다. 당신에 대해 일치시킬 (\$w+)(?!.*/1)참조 예를 들어, 여기 에 대한 자세한 설명은 있지만, 일반적인 구조는 다음과 같습니다

  • \$w+: 달러 기호 다음에 하나 이상의 문자 / 숫자 (또는 _)를 찾으십시오. 태그가 몇 개 있는지 세고 싶다면 이것 만 있으면됩니다.

예 :

df.Current.str.count(r'\$\w+')

인쇄됩니다

0    3
1    2
2    1
3    2
4    1
5    2

그러나 이렇게하면 동일한 요소가 두 번 이상있는 경우가 제거되므로 일치하지 않음을 의미하는 부정적 미리보기를 추가해야합니다.

  • (?!.*/1): 부정적 미리보기입니다. 이는 나중에 동일한 일치가 뒤 따르면 일치 하지 않음을 의미 합니다. 이것은 문자열에서 마지막 태그 만 계산됨을 의미합니다.

이 사용하면 다음 팬더 사용할 수있는 DataFrame.str방법을 구체적으로 DataFrame.str.count합니다 (이 re.I사례를 구분 일치하지 않습니다)

import re
df[df.Current.str.count(r'(\$\w+)(?!.*\1)', re.I) == 1]

원하는 결과를 얻을 수 있습니다.

                                             Current
2                   $AAPL earnings announcement soon
3  $FB is releasing a new product. Will $FB's pro...
4                               $Fb doing good today
5   $AMZN high today. Will $amzn continue like this?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 열 값을 기반으로 문자열 내에서 단어 제거

분류에서Dev

열 값을 기반으로 다단계 인덱스 Pandas에서 DataFrame 행 삭제

분류에서Dev

열 항목을 기반으로 행렬에서 행 제거

분류에서Dev

R에서 "문자"유형의 두 열을 기반으로 중복 된 행 제거

분류에서Dev

인덱스 문자열의 문자를 기반으로 행 삭제

분류에서Dev

R 행의 표준 편차를 기반으로 행렬에서 데이터 열 제거

분류에서Dev

Pandas의 열에있는 값의 마지막 문자를 기반으로 DataFrame에서 행 선택

분류에서Dev

다른 DataFrame을 기반으로 열에서 DataFrame의 행을 제거하는 방법은 무엇입니까?

분류에서Dev

"typeof"목록 열을 기반으로 R에서 행 제거

분류에서Dev

파일에서 읽은 열 값을 기반으로 행 제거

분류에서Dev

선행 단어를 기반으로 단락에서 숫자 값 추출

분류에서Dev

3 열의 합계를 기반으로 R에서 행 그룹을 제거하는 방법

분류에서Dev

문자를 기반으로 단어 제거

분류에서Dev

Scala에서 대문자로 시작하는 문자열의 단어 제거

분류에서Dev

열 값을 기반으로 DataFrame에서 행 선택, 16384 행으로 제한

분류에서Dev

href 태그에 단어가 포함 된 문자열을 기반으로 테이블의 모든 이미지를 제거합니다.

분류에서Dev

교대 열을 기반으로 pandas DataFrame에서 행 삭제

분류에서Dev

PySpark Dataframe의 패턴을 기반으로 목록에서 일부 문자를 제거하는 방법

분류에서Dev

특정 행의 내용을 기반으로 배열에서 열 제거

분류에서Dev

Ruby의 키를 기반으로 배열에서 해시 제거

분류에서Dev

문자열에서 단어가 아닌 문자 및 선행 숫자 제거

분류에서Dev

C ++ 부분 문자열의 부분 일치를 기반으로 벡터에서 문자열을 중복으로 제거

분류에서Dev

항목을 기반으로 pandas.Dataframe에서 행 제거

분류에서Dev

Pandas의 대칭 행렬을 기반으로 계열에서 중복 제거

분류에서Dev

팬더의 dataframe의 열에서 소문자 문자를 제거

분류에서Dev

셀형 배열 값을 기반으로 행렬에서 행 제거

분류에서Dev

Dataframe의 각 행에서 datetime 문자열 제거

분류에서Dev

** TWO ** 키를 기반으로하는 배열에서 중복 행을 제거하고 싶습니다.

분류에서Dev

문자열에서 문자열의 각 단어 제거

Related 관련 기사

  1. 1

    다른 열 값을 기반으로 문자열 내에서 단어 제거

  2. 2

    열 값을 기반으로 다단계 인덱스 Pandas에서 DataFrame 행 삭제

  3. 3

    열 항목을 기반으로 행렬에서 행 제거

  4. 4

    R에서 "문자"유형의 두 열을 기반으로 중복 된 행 제거

  5. 5

    인덱스 문자열의 문자를 기반으로 행 삭제

  6. 6

    R 행의 표준 편차를 기반으로 행렬에서 데이터 열 제거

  7. 7

    Pandas의 열에있는 값의 마지막 문자를 기반으로 DataFrame에서 행 선택

  8. 8

    다른 DataFrame을 기반으로 열에서 DataFrame의 행을 제거하는 방법은 무엇입니까?

  9. 9

    "typeof"목록 열을 기반으로 R에서 행 제거

  10. 10

    파일에서 읽은 열 값을 기반으로 행 제거

  11. 11

    선행 단어를 기반으로 단락에서 숫자 값 추출

  12. 12

    3 열의 합계를 기반으로 R에서 행 그룹을 제거하는 방법

  13. 13

    문자를 기반으로 단어 제거

  14. 14

    Scala에서 대문자로 시작하는 문자열의 단어 제거

  15. 15

    열 값을 기반으로 DataFrame에서 행 선택, 16384 행으로 제한

  16. 16

    href 태그에 단어가 포함 된 문자열을 기반으로 테이블의 모든 이미지를 제거합니다.

  17. 17

    교대 열을 기반으로 pandas DataFrame에서 행 삭제

  18. 18

    PySpark Dataframe의 패턴을 기반으로 목록에서 일부 문자를 제거하는 방법

  19. 19

    특정 행의 내용을 기반으로 배열에서 열 제거

  20. 20

    Ruby의 키를 기반으로 배열에서 해시 제거

  21. 21

    문자열에서 단어가 아닌 문자 및 선행 숫자 제거

  22. 22

    C ++ 부분 문자열의 부분 일치를 기반으로 벡터에서 문자열을 중복으로 제거

  23. 23

    항목을 기반으로 pandas.Dataframe에서 행 제거

  24. 24

    Pandas의 대칭 행렬을 기반으로 계열에서 중복 제거

  25. 25

    팬더의 dataframe의 열에서 소문자 문자를 제거

  26. 26

    셀형 배열 값을 기반으로 행렬에서 행 제거

  27. 27

    Dataframe의 각 행에서 datetime 문자열 제거

  28. 28

    ** TWO ** 키를 기반으로하는 배열에서 중복 행을 제거하고 싶습니다.

  29. 29

    문자열에서 문자열의 각 단어 제거

뜨겁다태그

보관