anzy859
anzy859

Reputation: 1

How do I ask question about lowercase error in casefolding?

I don't understand this error... I've already turned df into lowercase before turning it into a list dataframe:

0   Masuk ke Liang Lahat, Rian D’Masiv Makin Sadar...   Infotainment    Untuk pertama kalinya, Rian masuk ke liang lah...

1   Alasan PPKM, Kuasa Hukum Vicky Prasetyo Sebut ...   Infotainment    Andai saja persidangan tetap berjalan seperti ...

...

1573    Jessica Iskandar Syok Tahu Kabar Nia Ramadhani...   Infotainment    “Banyak wartawan juga nanyain. Itu aku baru ba...

1574    Show 10 Menit BTS dalam Koleksi LV  Music & Movie   BTS melaksanakan ’’tugas’’ perdananya sebagai ...

Code:

import pandas as pd
import numpy as np
import re
import string
import nltk
 
import str
def load_data():
    dataset = pd.read_csv("jawapos_entertainment.csv")
    return dataset
news_df = load_data()
news_df.head()
df = pd.DataFrame(news_df[['judul_name','judul_kategori','judul_Headline']])
df
from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory
factory = StopWordRemoverFactory()
stopwords = factory.create_stop_word_remover()

kalimat = df [['judul_name','judul_Headline']]
kalimat = kalimat.lower()

stop = stopwords.remove(kalimat)
print(stop)

But I have an error in this line:

AttributeError                            Traceback (most recent call last)
<ipython-input-17-ce52d5ec4fb2> in <module>
      4 
      5 kalimat = df [['judul_name','judul_Headline']]
----> 6 kalimat = kalimat.lower()
      7 
      8 stop = stopwords.remove(kalimat)
~\anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)
   5463             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5464                 return self[name]
-> 5465             return object.__getattribute__(self, name)
   5466 
   5467     def __setattr__(self, name: str, value) -> None:

AttributeError: 'DataFrame' object has no attribute 'lower'

But why is the program returning a lowercase error if I've already passed the lowercase dataframe before?

Upvotes: 0

Views: 82

Answers (1)

Parzych
Parzych

Reputation: 101

You can't just lower a Dataframe object. First you have to point that you want to use vectorized string functions for Series and Index-pd.Series.str. Converting whole dataframe to lowercase format should looks like this:

for columns in kalimat.columns:
    kalimat[columns] = kalimat[columns].str.lower() 

Upvotes: 0

Related Questions