나는 완벽하게 작동하는 다른 데이터 프레임의 키워드를 기반으로 데이터 프레임에서 문장을 추출하려고 시도하고 있지만 다른 언어로 된 동일한 문장에 대한 다른 데이터 프레임이 있지만 동일한 시퀀스와 동일한 ID이므로 동일한 문장 형태를 추출하고 싶습니다. 다른 데이터 프레임뿐만 아니라 첫 번째의 일치 ID를 기반으로 어떤 종류의 작업을 수행 할 수 있습니까? 내가 시도하는 코드는 이것입니다
wdata = pd.read_csv(firstfile, nrows=0).columns[0]
skip = int(wdata.count(' ') == 0)
wdata = pd.read_csv(firstfile, names=['sentences'], skiprows=skip)
data = wdata['sentences'].str.replace('[^\w\s]', ' ')
tdata = pd.read_csv(secondfile, nrows=0).columns[0]
skip = int(tdata.count(' ') == 0)
tdata = pd.read_csv(secondfile, names=['sentences'], skiprows=skip)
sata = tdata['sentences'].str.replace('[^\w\s]', ' ')
keywords=pd.read_csv(dic)
keywords=keywords.loc[keywords['freq'].between(200, 2499, inclusive=False), 'word']
newdata = data[data.str.split(expand=True).isin(keywords.tolist()).any(axis=1)]
update = data[~data.str.split(expand=True).isin(keywords.tolist()).any(axis=1)]
newdata.to_csv("new_data.csv", index=False, header=False)
update.to_csv("update.csv", index=False, header=False)
----------------------
#first dataframe example
----------------------
#how are you
#I want to die
#I was home
#I went to sleep at work
#he have a bad reputation
#it was me who went to him
#have good sleep home
----------------------
#second dataframe example
----------------------
#halaw kuy bashii
#damawe bmrm
#la malawa bum
#la esh nustm
#aw kabraya bash nya
#awa mn bum chum bo lay
#xaweki xosh basar bba la malawa
----------------------
#the keyward example example
----------------------
#word freq
#and 500
#you 450
#me 300
#have 250
#your 240
#sleep 200
#work 150
#home 100
#die 50
이제이 코드는 첫 번째 데이터 프레임에서 원하는 문장을 제공하는 데 잘 작동하지만 조건이 true이고 데이터 프레임에서 첫 번째 문장을 가져 오는 경우와 같이 일치하는 ID를 기반으로 두 번째 데이터 프레임에서 문장을 잡는 방식으로 어떻게 할당 할 수 있습니까? 1을 새 csv 파일로 가져온 다음 데이터 프레임의 sendnece도 별도의 csv로 가져갑니다.
이것은 내가 얻는 코드입니다.
첫 번째 데이터 프레임 조건을 기반으로 동일한 ID를 얻고 두 번째 데이터 프레임에 대한 새 csv에도 덤프하고 싶습니다.
동일한 수의 행과 두 DataFrame의 인덱스가 동일한 경우 다음과 DataFrame
같이 마스크를 첫 번째 에서 두 번째 로 전달할 수 있습니다 .
print (data.index.equals(df2.index))
True
newdata2 = df2[data.str.split(expand=True).isin(keywords.tolist()).any(axis=1)]
print (newdata2)
sentences
0 halaw kuy bashii
4 aw kabraya bash nya
5 awa mn bum chum bo lay
6 xaweki xosh basar bba la malawa 1
색인으로 일치 시키려면 :
newdata = data[data.str.split(expand=True).isin(keywords.tolist()).any(axis=1)]
print (newdata)
0 how are you
4 he have a bad reputation
5 it was me who went to him
6 have good sleep home
Name: sentences, dtype: object
newdata2 = df2[df2.index.isin(newdata.index)]
print (newdata2)
sentences
0 halaw kuy bashii
4 aw kabraya bash nya
5 awa mn bum chum bo lay
6 xaweki xosh basar bba la malawa 1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다