我有一個資料框,我在其中逐行移動以跳轉影像。我有空值標記為 np.nan
資料框示例:

我需要滿足一個條件,如果傳遞的變數的值不等于np.nan,那么將執行影像跳轉。
def save_all_images(df):
print('Row count is dataframe:', df.shape[0])
print('W_type image: ', df.w_type.count())
print('Z_type image: ', df.z_type.count())
print('Y_type image: ', df.y_type.count())
print('R_type image: ', df.r_type.count())
print('Q_type image: ', df.q_type.count())
print('X_type image: ', df.x_type.count())
print('\nStart save images on server')
number = 0
y_number = df.y_type.count()
for i in df.iterrows():
number = number 1
date = i[1][2]
id_image = i[1][0]
type_w = i[1][5]
type_x = i[1][10]
type_y = i[1][7]
type_q = i[1][9]
if type_w != np.nan:
print(type(type_w))
time.sleep(1)
img_type_w = Image.open(requests.get(type_w, stream=True).raw)
img_type_w.save(directory 'w_' str(id_image) '_' str(date) '.jpg')
img_type_w.close()
我知道它看起來不太好。我收到以下錯誤:
MissingSchema Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_9108/1715813655.py in <module>
----> 1 save_all_images(df)
~\AppData\Local\Temp/ipykernel_9108/3837361018.py in save_all_images(df)
24 print(type(type_w))
25 time.sleep(1)
---> 26 img_type_w = Image.open(requests.get(type_w, stream=True).raw)
27 img_type_w.save(directory 'w_' str(id_image) '_' str(date) '.jpg')
28 img_type_w.close()
~\AppData\Roaming\Python\Python39\site-packages\requests\api.py in get(url, params, **kwargs)
73 """
74
---> 75 return request('get', url, params=params, **kwargs)
76
77
~\AppData\Roaming\Python\Python39\site-packages\requests\api.py in request(method, url, **kwargs)
59 # cases, and look like a memory leak in others.
60 with sessions.Session() as session:
---> 61 return session.request(method=method, url=url, **kwargs)
62
63
~\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
513 hooks=hooks,
514 )
--> 515 prep = self.prepare_request(req)
516
517 proxies = proxies or {}
~\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py in prepare_request(self, request)
441
442 p = PreparedRequest()
--> 443 p.prepare(
444 method=request.method.upper(),
445 url=request.url,
~\AppData\Roaming\Python\Python39\site-packages\requests\models.py in prepare(self, method, url, headers, files, data, params, auth, cookies, hooks, json)
316
317 self.prepare_method(method)
--> 318 self.prepare_url(url, params)
319 self.prepare_headers(headers)
320 self.prepare_cookies(cookies)
~\AppData\Roaming\Python\Python39\site-packages\requests\models.py in prepare_url(self, url, params)
390 error = error.format(to_native_string(url, 'utf8'))
391
--> 392 raise MissingSchema(error)
393
394 if not host:
MissingSchema: Invalid URL 'nan': No scheme supplied. Perhaps you meant http://nan?
uj5u.com熱心網友回復:
你應該敲np.nan == np.nan return False,所以改用np.isnan:
if not np.isnan(type_w):
print(type(type_w))
....
或者如果是字串型別:
if type_w != 'nan':
#if type_w.replace(' ', '').lower() != 'nan': # if blanks or upper case
print(type(type_w))
....
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/448655.html
上一篇:ValueError:時間資料“14.03.202200:00:00.000GMT-0400”與格式“%d.%m.%Y%H:%M:%S.%f%z”不匹配(匹配)
