日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
十個(gè)Pandas的另類數(shù)據(jù)處理技巧

本文所整理的技巧與以前整理過10個(gè)Pandas的常用技巧不同,你可能并不會經(jīng)常的使用它,但是有時(shí)候當(dāng)你遇到一些非常棘手的問題時(shí),這些技巧可以幫你快速解決一些不常見的問題。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供青秀網(wǎng)站建設(shè)、青秀做網(wǎng)站、青秀網(wǎng)站設(shè)計(jì)、青秀網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、青秀企業(yè)網(wǎng)站模板建站服務(wù),十多年青秀做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

1、Categorical類型

默認(rèn)情況下,具有有限數(shù)量選項(xiàng)的列都會被分配object 類型。 但是就內(nèi)存來說并不是一個(gè)有效的選擇。 我們可以這些列建立索引,并僅使用對對象的引用而實(shí)際值。Pandas 提供了一種稱為 Categorical的Dtype來解決這個(gè)問題。

例如一個(gè)帶有圖片路徑的大型數(shù)據(jù)集組成。 每行有三列:anchor, positive, and negative.。

如果類別列使用 Categorical 可以顯著減少內(nèi)存使用量。

# raw data
+----------+------------------------+
| class | filename |
+----------+------------------------+
| Bathroom | Bathroom\bath_1.jpg |
| Bathroom | Bathroom\bath_100.jpg |
| Bathroom | Bathroom\bath_1003.jpg |
| Bathroom | Bathroom\bath_1004.jpg |
| Bathroom | Bathroom\bath_1005.jpg |
+----------+------------------------+

# target
+------------------------+------------------------+----------------------------+
| anchor | positive | negative |
+------------------------+------------------------+----------------------------+
| Bathroom\bath_1.jpg | Bathroom\bath_100.jpg | Dinning\din_540.jpg |
| Bathroom\bath_100.jpg | Bathroom\bath_1003.jpg | Dinning\din_1593.jpg |
| Bathroom\bath_1003.jpg | Bathroom\bath_1004.jpg | Bedroom\bed_329.jpg |
| Bathroom\bath_1004.jpg | Bathroom\bath_1005.jpg | Livingroom\living_1030.jpg |
| Bathroom\bath_1005.jpg | Bathroom\bath_1007.jpg | Bedroom\bed_1240.jpg |
+------------------------+------------------------+----------------------------+

filename列的值會經(jīng)常被復(fù)制重復(fù)。因此,所以通過使用Categorical可以極大的減少內(nèi)存使用量。

讓我們讀取目標(biāo)數(shù)據(jù)集,看看內(nèi)存的差異:

triplets.info(memory_usage="deep")

# Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 anchor 525000 non-null category
# 1 positive 525000 non-null category
# 2 negative 525000 non-null category
# dtypes: category(3)
# memory usage: 4.6 MB

# without categories
triplets_raw.info(memory_usage="deep")

# Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 anchor 525000 non-null object
# 1 positive 525000 non-null object
# 2 negative 525000 non-null object
# dtypes: object(3)
# memory usage: 118.1 MB

差異非常大,并且隨著重復(fù)次數(shù)的增加,差異呈非線性增長。

2、行列轉(zhuǎn)換

sql中經(jīng)常會遇到行列轉(zhuǎn)換的問題,Pandas有時(shí)候也需要,讓我們看看來自Kaggle比賽的數(shù)據(jù)集。census_start .csv文件:

可以看到,這些按年來保存的,如果有一個(gè)列year和pct_bb,并且每一行有相應(yīng)的值,則會好得多,對吧。

cols = sorted([col for col in original_df.columns \
if col.startswith("pct_bb")])
df = original_df[(["cfips"] + cols)]
df = df.melt(id_vars="cfips",
value_vars=cols,
var_name="year",
value_name="feature").sort_values(by=["cfips", "year"])

看看結(jié)果,這樣是不是就好很多了:

3、apply()很慢

我們上次已經(jīng)介紹過,最好不要使用這個(gè)方法,因?yàn)樗闅v每行并調(diào)用指定的方法。但是要是我們沒有別的選擇,那還有沒有辦法提高速度呢?

可以使用swifter或pandarallew這樣的包,使過程并行化。

Swifter

import pandas as pd
import swifter

def target_function(row):
return row * 10

def traditional_way(data):
data['out'] = data['in'].apply(target_function)

def swifter_way(data):
data['out'] = data['in'].swifter.apply(target_function)

Pandarallel

import pandas as pd
from pandarallel import pandarallel

def target_function(row):
return row * 10

def traditional_way(data):
data['out'] = data['in'].apply(target_function)

def pandarallel_way(data):
pandarallel.initialize()
data['out'] = data['in'].parallel_apply(target_function)

通過多線程,可以提高計(jì)算的速度,當(dāng)然當(dāng)然,如果有集群,那么最好使用dask或pyspark

4、空值,int, Int64

標(biāo)準(zhǔn)整型數(shù)據(jù)類型不支持空值,所以會自動轉(zhuǎn)換為浮點(diǎn)數(shù)。所以如果數(shù)據(jù)要求在整數(shù)字段中使用空值,請考慮使用Int64數(shù)據(jù)類型,因?yàn)樗鼤褂胮andas.NA來表示空值。

5、Csv, 壓縮還是parquet?

盡可能選擇parquet。parquet會保留數(shù)據(jù)類型,在讀取數(shù)據(jù)時(shí)就不需要指定dtypes。parquet文件默認(rèn)已經(jīng)使用了snappy進(jìn)行壓縮,所以占用的磁盤空間小。下面可以看看幾個(gè)的對比

|        file            |  size   |
+------------------------+---------+
| triplets_525k.csv | 38.4 MB |
| triplets_525k.csv.gzip | 4.3 MB |
| triplets_525k.csv.zip | 4.5 MB |
| triplets_525k.parquet | 1.9 MB |
+------------------------+---------+

讀取parquet需要額外的包,比如pyarrow或fastparquet。chatgpt說pyarrow比fastparquet要快,但是我在小數(shù)據(jù)集上測試時(shí)fastparquet比pyarrow要快,但是這里建議使用pyarrow,因?yàn)閜andas 2.0也是默認(rèn)的使用這個(gè)。

6、value_counts ()

計(jì)算相對頻率,包括獲得絕對值、計(jì)數(shù)和除以總數(shù)是很復(fù)雜的,但是使用value_counts,可以更容易地完成這項(xiàng)任務(wù),并且該方法提供了包含或排除空值的選項(xiàng)。

df = pd.DataFrame({"a": [1, 2, None], "b": [4., 5.1, 14.02]})
df["a"] = df["a"].astype("Int64")
print(df.info())
print(df["a"].value_counts(normalize=True, dropna=False),
df["a"].value_counts(normalize=True, dropna=True), sep="\n\n")

這樣是不是就簡單很多了

7、Modin

注意:Modin現(xiàn)在還在測試階段。

pandas是單線程的,但Modin可以通過縮放pandas來加快工作流程,它在較大的數(shù)據(jù)集上工作得特別好,因?yàn)樵谶@些數(shù)據(jù)集上,pandas會變得非常緩慢或內(nèi)存占用過大導(dǎo)致OOM。

!pip install modin[all]

import modin.pandas as pd
df = pd.read_csv("my_dataset.csv")

以下是modin官網(wǎng)的架構(gòu)圖,有興趣的研究把:

8、extract()

如果經(jīng)常遇到復(fù)雜的半結(jié)構(gòu)化的數(shù)據(jù),并且需要從中分離出單獨(dú)的列,那么可以使用這個(gè)方法:

import pandas as pd

regex = (r'(?P[A-Za-z\'\s]+),'<br> r'(?P<author>[A-Za-z\s\']+),'<br> r'(?P<isbn>[\d-]+),'<br> r'(?P<year>\d{4}),'<br> r'(?P<publisher>.+)')<br> addr = pd.Series([<br> "The Lost City of Amara,Olivia Garcia,978-1-234567-89-0,2023,HarperCollins",<br> "The Alchemist's Daughter,Maxwell Greene,978-0-987654-32-1,2022,Penguin Random House",<br> "The Last Voyage of the HMS Endeavour,Jessica Kim,978-5-432109-87-6,2021,Simon & Schuster",<br> "The Ghosts of Summer House,Isabella Lee,978-3-456789-12-3,2000,Macmillan Publishers",<br> "The Secret of the Blackthorn Manor,Emma Chen,978-9-876543-21-0,2023,Random House Children's Books"<br> ])<br> addr.str.extract(regex)</pre><p> </p> <h4>9、讀寫剪貼板</h4> <p>這個(gè)技巧有人一次也用不到,但是有人可能就是需要,比如:在分析中包含PDF文件中的表格時(shí)。通常的方法是復(fù)制數(shù)據(jù),粘貼到Excel中,導(dǎo)出到csv文件中,然后導(dǎo)入Pandas。但是,這里有一個(gè)更簡單的解決方案:pd.read_clipboard()。我們所需要做的就是復(fù)制所需的數(shù)據(jù)并執(zhí)行一個(gè)方法。</p><p>有讀就可以寫,所以還可以使用to_clipboard()方法導(dǎo)出到剪貼板。</p><p>但是要記住,這里的剪貼板是你運(yùn)行python/jupyter主機(jī)的剪切板,并不可能跨主機(jī)粘貼,一定不要搞混了。</p> <h4>10、數(shù)組列分成多列</h4> <p>假設(shè)我們有這樣一個(gè)數(shù)據(jù)集,這是一個(gè)相當(dāng)?shù)湫偷那闆r:</p><pre>import pandas as pd<br> df = pd.DataFrame({"a": [1, 2, 3],<br> "b": [4, 5, 6],<br> "category": [["foo", "bar"], ["foo"], ["qux"]]})<br> <br> # let's increase the number of rows in a dataframe<br> df = pd.concat([df]*10000, ignore_index=True)</pre><p> </p><p>我們想將category分成多列顯示,例如下面的</p><p> </p><p>先看看最慢的apply:</p><pre>def dummies_series_apply(df):<br> return df.join(df['category'].apply(pd.Series) \<br> .stack() \<br> .str.get_dummies() \<br> .groupby(level=0) \<br> .sum()) \<br> .drop("category", axis=1)<br> %timeit dummies_series_apply(df.copy())<br> #5.96 s ± 66.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)</pre><p>sklearn的MultiLabelBinarizer</p><pre>from sklearn.preprocessing import MultiLabelBinarizer<br> def sklearn_mlb(df):<br> mlb = MultiLabelBinarizer()<br> return df.join(pd.DataFrame(mlb.fit_transform(df['category']), columns=mlb.classes_)) \<br> .drop("category", axis=1)<br> %timeit sklearn_mlb(df.copy())<br> #35.1 ms ± 1.31 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)</pre><p>是不是快了很多,我們還可以使用一般的向量化操作對其求和:</p><pre>def dummies_vectorized(df):<br> return pd.get_dummies(df.explode("category"), prefix="cat") \<br> .groupby(["a", "b"]) \<br> .sum() \<br> .reset_index()<br> %timeit dummies_vectorized(df.copy())<br> #29.3 ms ± 1.22 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)</pre><p> </p><p>使用第一個(gè)方法(在StackOverflow上的回答中非常常見)會給出一個(gè)非常慢的結(jié)果。而其他兩個(gè)優(yōu)化的方法的時(shí)間是非??焖俚摹?/p> <h4>總結(jié)</h4> <p>我希望每個(gè)人都能從這些技巧中學(xué)到一些新的東西。重要的是要記住盡可能使用向量化操作而不是apply()。此外,除了csv之外,還有其他有趣的存儲數(shù)據(jù)集的方法。不要忘記使用分類數(shù)據(jù)類型,它可以節(jié)省大量內(nèi)存。感謝閱讀!</p> <br> 文章題目:十個(gè)Pandas的另類數(shù)據(jù)處理技巧 <br> 網(wǎng)頁網(wǎng)址:<a href="http://www.5511xx.com/article/dppcjie.html">http://www.5511xx.com/article/dppcjie.html</a> </div> <div id="cdn9u34" class="hot_new"> <div id="ukfjlp1" class="page_title clearfix"> <h3>其他資訊</h3> </div> <div id="cb93zux" class="news_list clearfix"> <ul> <li> <a href="/article/ccooceg.html">創(chuàng)新互聯(lián)IRIS教程:iris 模型綁定和驗(yàn)證</a> </li><li> <a href="/article/ccoocgp.html">電腦屏幕亮度怎么調(diào)整</a> </li><li> <a href="/article/ccoocsg.html">快速高效!利用db2命令行執(zhí)行數(shù)據(jù)庫腳本(db2命令行執(zhí)行數(shù)據(jù)庫腳本)</a> </li><li> <a href="/article/ccoocje.html">如何清除dede數(shù)據(jù)庫,dede數(shù)據(jù)庫配置文件「depart數(shù)據(jù)庫」</a> </li><li> <a href="/article/ccoocgg.html">函數(shù)解決Linux下調(diào)用Oracle函數(shù)的方法(linux調(diào)用oracle)</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 底部信息 --> <div id="lteh7d3" class="footer wow fadeInUp"> <div id="yd3ecyc" class="rowFluid"> <div id="wmxjlq4" class="span12"> <div id="cjnx8n3" class="container"> <div id="9bort1c" class="footer_content"> <div id="tg2filo" class="span4 col-xm-12"> <div id="hfrvg6w" class="footer_list"> <div id="qnztvp7" class="span6"> <div id="cin7bep" class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號二維碼" /></div> </div> <div id="j7ydhbn" class="span6 col-xm-12"> <div id="9ztbgro" class="quick_navigation"> <div id="uanzegs" class="quick_navigation_title">快速導(dǎo)航</div> <ul> <li><a title="梓潼網(wǎng)站建設(shè)" target="_blank">梓潼網(wǎng)站建設(shè)</a></li><li><a title="網(wǎng)站優(yōu)化排名" target="_blank">網(wǎng)站優(yōu)化排名</a></li><li><a title="成都防護(hù)網(wǎng)公司" target="_blank">成都防護(hù)網(wǎng)公司</a></li><li><a title="網(wǎng)站安全維護(hù)" target="_blank">網(wǎng)站安全維護(hù)</a></li><li><a title="德陽東方電機(jī)技改服務(wù)有限公司" target="_blank">德陽東方電機(jī)技改服務(wù)有限公司</a></li><li><a title="德陽發(fā)電機(jī)公司" target="_blank">德陽發(fā)電機(jī)公司</a></li><li><a title="成都電動叉車公司" target="_blank">成都電動叉車公司</a></li><li><a title="成都發(fā)光字設(shè)計(jì)" target="_blank">成都發(fā)光字設(shè)計(jì)</a></li><li><a title="什邡沃爾沃發(fā)電機(jī)出租" target="_blank">什邡沃爾沃發(fā)電機(jī)出租</a></li><li><a title="大悟縣汽車配件公司" target="_blank">大悟縣汽車配件公司</a></li><li><a title="軟文營銷" target="_blank">軟文營銷</a></li> </ul> </div> </div> </div> </div> <div id="oxqb3q8" class="span4 col-xm-6 col-xs-12"> <div id="wrdqcf3" class="footer_list"> <div id="b2xl4rf" class="footer_link"> <div id="g8bequp" class="footer_link_title">友情鏈接</div> <ul id="frientLinks"> <a title="網(wǎng)站制作" target="_blank">網(wǎng)站制作</a> <a title="網(wǎng)站建設(shè)" target="_blank">網(wǎng)站建設(shè)</a> <a title="成都網(wǎng)絡(luò)推廣" target="_blank">網(wǎng)絡(luò)推廣</a> <a title="成都網(wǎng)站推廣" target="_blank">網(wǎng)站推廣</a> <a title="成都微信小程序開發(fā)" target="_blank">小程序開發(fā)</a> <a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a> </ul> <div id="x3vpbyl" class="footer_link_title">網(wǎng)站建設(shè)</div> <ul id="frientLinks"> <li><a href="/">四川平武建站</a></li> <li><a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a></li> </ul> </div> </div> </div> <div id="8gikw3t" class="span4 col-xm-6 col-xs-12"> <div id="yfyk7gt" class="footer_list"> <div id="9zlql7a" class="footer_cotact"> <div id="h518wj6" class="footer_cotact_title">聯(lián)系方式</div> <ul> <li><span id="7lfjd3o" class="footer_cotact_type">企業(yè):</span><span id="po6mp6o" class="footer_cotact_content">四川綿陽平武網(wǎng)站建設(shè)工作室</span></li> <li><span id="lz3vpth" class="footer_cotact_type">地址:</span><span id="n21lnso" class="footer_cotact_content">成都市青羊區(qū)太升南路288號</span></li> <li><span id="cx3wrcm" class="footer_cotact_type">電話:</span><span id="urufiup" class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li> <li><span id="imyk84q" class="footer_cotact_type">網(wǎng)址:</span><span id="hejfhmy" class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">www.5511xx.com</a></span></li> </ul> </div> </div> </div> </div> </div> <div id="uxbtw1d" class="copyright"> <p>公司名稱:四川綿陽平武網(wǎng)站建設(shè)工作室 聯(lián)系電話:18980820575</p> <p><a target="_blank" rel="nofollow">網(wǎng)站備案號:蜀ICP備2024061352號-3</a></p> <p>四川平武建站 四川平武網(wǎng)站建設(shè) 四川平武網(wǎng)站設(shè)計(jì) 四川平武網(wǎng)站制作 <a target="_blank">成都做網(wǎng)站</a></p> </div> </div> </div> </div> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a> <div class="friend-links"> <a href="http://www.9iban.com">久久精品无码av|一级中文无码免费观看|日韩欧美黄片手机版|人妻激情视频成人无码aaa|美女一级黄色毛片|国产aa黄片亚洲破处片|黄色A极大片特级a黄片|综合精品一区二区三区四区在线|国产精品不卡无码av在线播放|超碰亚洲在线日韩肏屄</a> <a href="http://www.datumvisio.com">91AV乱伦强奸|国产理伦电影尤物导航|在线观看高清无码黄片|特黄色电影特级毛片|亚洲精品av一区二区三区|91AV无码免费|久久嫩草国产亚洲无码网站|国产91极度丝袜|青青草在线视频免费观看|黄色av网五月天</a> <a href="http://www.jiangrensw.com">在线视频一本一区|91在线免费视频网站|国产视频在线观看91|A片在线观看视频直接观看|在线免费A片黄色电影|美女视频图片永久免费观看|青青色在线观看视频网站|日本欧美视频在线看v片成人|色情性黄?片免费视频中国免费的|国产一线二线三黄色片</a> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="99ypn" class="pl_css_ganrao" style="display: none;"><nav id="99ypn"><blockquote id="99ypn"><div id="99ypn"></div></blockquote></nav><p id="99ypn"></p><bdo id="99ypn"></bdo><b id="99ypn"></b><object id="99ypn"><del id="99ypn"><tr id="99ypn"></tr></del></object><source id="99ypn"><listing id="99ypn"><pre id="99ypn"></pre></listing></source><div id="99ypn"><menu id="99ypn"><font id="99ypn"></font></menu></div><address id="99ypn"></address><small id="99ypn"></small><samp id="99ypn"></samp><i id="99ypn"><ins id="99ypn"><pre id="99ypn"></pre></ins></i><dfn id="99ypn"><sub id="99ypn"><strike id="99ypn"></strike></sub></dfn><address id="99ypn"></address><object id="99ypn"><small id="99ypn"><tr id="99ypn"></tr></small></object><dfn id="99ypn"></dfn><ol id="99ypn"><menu id="99ypn"><progress id="99ypn"></progress></menu></ol><span id="99ypn"><i id="99ypn"><ins id="99ypn"></ins></i></span><sub id="99ypn"></sub><strong id="99ypn"><font id="99ypn"><legend id="99ypn"></legend></font></strong><cite id="99ypn"><pre id="99ypn"><center id="99ypn"></center></pre></cite><source id="99ypn"><listing id="99ypn"><pre id="99ypn"></pre></listing></source><legend id="99ypn"><nav id="99ypn"><em id="99ypn"></em></nav></legend><tbody id="99ypn"></tbody><dd id="99ypn"></dd><mark id="99ypn"></mark><menu id="99ypn"></menu><sup id="99ypn"><span id="99ypn"><code id="99ypn"></code></span></sup><address id="99ypn"><cite id="99ypn"><ruby id="99ypn"></ruby></cite></address><ul id="99ypn"></ul><object id="99ypn"><del id="99ypn"><tr id="99ypn"></tr></del></object><pre id="99ypn"><bdo id="99ypn"><mark id="99ypn"></mark></bdo></pre><sup id="99ypn"></sup><strike id="99ypn"><ul id="99ypn"><samp id="99ypn"></samp></ul></strike><em id="99ypn"></em><dd id="99ypn"><label id="99ypn"><pre id="99ypn"></pre></label></dd><i id="99ypn"><ins id="99ypn"><pre id="99ypn"></pre></ins></i><label id="99ypn"><em id="99ypn"><div id="99ypn"></div></em></label><center id="99ypn"></center><font id="99ypn"></font><strong id="99ypn"><pre id="99ypn"><ol id="99ypn"></ol></pre></strong><pre id="99ypn"></pre><object id="99ypn"></object><small id="99ypn"></small><pre id="99ypn"><label id="99ypn"><ruby id="99ypn"></ruby></label></pre><em id="99ypn"></em><label id="99ypn"><ruby id="99ypn"><center id="99ypn"></center></ruby></label><pre id="99ypn"></pre><acronym id="99ypn"></acronym><bdo id="99ypn"></bdo><nav id="99ypn"></nav><mark id="99ypn"></mark><samp id="99ypn"></samp><progress id="99ypn"><object id="99ypn"><small id="99ypn"></small></object></progress><th id="99ypn"><nav id="99ypn"><blockquote id="99ypn"></blockquote></nav></th><font id="99ypn"></font><bdo id="99ypn"><center id="99ypn"><strike id="99ypn"></strike></center></bdo><sup id="99ypn"></sup><listing id="99ypn"></listing><ins id="99ypn"></ins><font id="99ypn"><th id="99ypn"><nav id="99ypn"></nav></th></font><meter id="99ypn"><s id="99ypn"><b id="99ypn"></b></s></meter><sup id="99ypn"><strong id="99ypn"><listing id="99ypn"></listing></strong></sup><code id="99ypn"><pre id="99ypn"><wbr id="99ypn"></wbr></pre></code><pre id="99ypn"></pre><mark id="99ypn"></mark><sup id="99ypn"></sup><i id="99ypn"></i><del id="99ypn"></del><sub id="99ypn"><fieldset id="99ypn"><rp id="99ypn"></rp></fieldset></sub><blockquote id="99ypn"><style id="99ypn"><strike id="99ypn"></strike></style></blockquote><acronym id="99ypn"></acronym><dd id="99ypn"></dd><strike id="99ypn"></strike><sub id="99ypn"><fieldset id="99ypn"><rp id="99ypn"></rp></fieldset></sub><pre id="99ypn"></pre><dd id="99ypn"></dd><p id="99ypn"></p><cite id="99ypn"><blockquote id="99ypn"><div id="99ypn"></div></blockquote></cite><strong id="99ypn"></strong><ul id="99ypn"></ul><strong id="99ypn"><progress id="99ypn"><legend id="99ypn"></legend></progress></strong><th id="99ypn"></th><cite id="99ypn"><ruby id="99ypn"><center id="99ypn"></center></ruby></cite><ul id="99ypn"><source id="99ypn"><i id="99ypn"></i></source></ul><acronym id="99ypn"></acronym><pre id="99ypn"><sub id="99ypn"><strong id="99ypn"></strong></sub></pre><code id="99ypn"></code><rp id="99ypn"><dd id="99ypn"><label id="99ypn"></label></dd></rp><small id="99ypn"></small><code id="99ypn"></code><sup id="99ypn"></sup><rp id="99ypn"></rp><span id="99ypn"><code id="99ypn"><ins id="99ypn"></ins></code></span><style id="99ypn"></style><span id="99ypn"><code id="99ypn"><ins id="99ypn"></ins></code></span><label id="99ypn"><em id="99ypn"><div id="99ypn"></div></em></label><source id="99ypn"></source><label id="99ypn"></label><ol id="99ypn"></ol><sup id="99ypn"></sup><bdo id="99ypn"></bdo><bdo id="99ypn"></bdo><strong id="99ypn"><meter id="99ypn"><ol id="99ypn"></ol></meter></strong><strike id="99ypn"><rp id="99ypn"><address id="99ypn"></address></rp></strike><ol id="99ypn"></ol><nav id="99ypn"><tr id="99ypn"><strike id="99ypn"></strike></tr></nav><strike id="99ypn"><rp id="99ypn"><address id="99ypn"></address></rp></strike><th id="99ypn"></th><fieldset id="99ypn"></fieldset><strong id="99ypn"><pre id="99ypn"><ol id="99ypn"></ol></pre></strong><ins id="99ypn"></ins><sub id="99ypn"><fieldset id="99ypn"><rp id="99ypn"></rp></fieldset></sub><wbr id="99ypn"><bdo id="99ypn"><sup id="99ypn"></sup></bdo></wbr><menu id="99ypn"><tbody id="99ypn"><th id="99ypn"></th></tbody></menu><p id="99ypn"></p><font id="99ypn"></font><tr id="99ypn"><style id="99ypn"><ul id="99ypn"></ul></style></tr><legend id="99ypn"><cite id="99ypn"><em id="99ypn"></em></cite></legend><strike id="99ypn"><rp id="99ypn"><address id="99ypn"></address></rp></strike><div id="99ypn"></div><tbody id="99ypn"><i id="99ypn"><del id="99ypn"></del></i></tbody><fieldset id="99ypn"></fieldset><fieldset id="99ypn"></fieldset><s id="99ypn"><ul id="99ypn"><tbody id="99ypn"></tbody></ul></s><strike id="99ypn"></strike><em id="99ypn"><strike id="99ypn"><menu id="99ypn"></menu></strike></em><i id="99ypn"></i><dfn id="99ypn"><div id="99ypn"><strike id="99ypn"></strike></div></dfn><s id="99ypn"></s><i id="99ypn"></i><pre id="99ypn"></pre><blockquote id="99ypn"><strike id="99ypn"><label id="99ypn"></label></strike></blockquote><div id="99ypn"><label id="99ypn"><acronym id="99ypn"></acronym></label></div><small id="99ypn"></small><th id="99ypn"><strong id="99ypn"><blockquote id="99ypn"></blockquote></strong></th><dfn id="99ypn"><div id="99ypn"><strike id="99ypn"></strike></div></dfn><b id="99ypn"><tbody id="99ypn"><object id="99ypn"></object></tbody></b><tbody id="99ypn"></tbody><em id="99ypn"></em><code id="99ypn"><pre id="99ypn"><wbr id="99ypn"></wbr></pre></code><cite id="99ypn"></cite><strong id="99ypn"></strong><menu id="99ypn"></menu><mark id="99ypn"></mark><tbody id="99ypn"></tbody><ol id="99ypn"><b id="99ypn"><progress id="99ypn"></progress></b></ol><style id="99ypn"><b id="99ypn"><tbody id="99ypn"></tbody></b></style><p id="99ypn"><ruby id="99ypn"><sub id="99ypn"></sub></ruby></p><div id="99ypn"></div><code id="99ypn"><del id="99ypn"><pre id="99ypn"></pre></del></code></div> </html>