前提・実現したいこと
pandasで条件抽出をしたところ、strとint間では、定義ないとエラーが出ました。
エラーを解消したいのですが、どなたか教えてくれませんか?
発生している問題・エラーメッセージ
TypeError: '<=' not supported between instances of 'str' and 'int'
該当のソースコード
import time import requests,bs4 from bs4 import BeautifulStoneSoup import pandas as pd columns=["price","when"] df= pd.DataFrame(columns=columns) for page in range(1,100,100): r = requests.get('https://auctions.yahoo.co.jp/closedsearch/closedsearch/ps5%20%E6%9C%AC%E4%BD%93/0/?rs=1&ve=Lite&aucminprice=33000&istatus=1&b='+str(page)+'&n=100') soup=bs4.BeautifulSoup(r.text,"html.parser") products=soup.find_all("li",{"class":"Product"}) time.sleep(5) for product in products: price=product.find("span",{"class":"Product__priceValue"}).text when=product.find("span",{"class":"Product__time"}).text price=price.replace("円","") price=price.replace(",","") se=pd.Series([price,when],columns) df=df.append(se,columns) import pandas as pd df['2020']='2020' df['timestamp']=df['2020']+df['when'] a=df['timestamp'] b=[pd.to_datetime(date,format='%Y%m/%d %H:%M') for date in a] df['timestamp']=b df_sample1=df.drop(['when','2020'],axis=1) # 'price'の値が55000以下の行を抽出 df_sample = df_sample1[(df_sample1['price']<=55000)] df
試したこと
df_sample = df_sample1[(df_sample1.int(['price'])<=55000)]
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/13 04:49