├── .gitignore ├── LICENSE ├── README.md ├── examples ├── data │ ├── bloomberg-billionaires.csv │ ├── cia-world-leaders.csv │ ├── data1.csv │ ├── data2.csv │ ├── davos-attendees-2019.csv │ ├── forbes-billionaires.csv │ ├── forbes-china-billionaires.csv │ └── un-sanctions.csv └── fuzzy_pandas examples.ipynb ├── fuzzy_pandas ├── __init__.py └── fuzzy_merge.py └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/osx,python 3 | # Edit at https://www.gitignore.io/?templates=osx,python 4 | 5 | ### OSX ### 6 | # General 7 | .DS_Store 8 | .AppleDouble 9 | .LSOverride 10 | 11 | # Icon must end with two \r 12 | Icon 13 | 14 | # Thumbnails 15 | ._* 16 | 17 | # Files that might appear in the root of a volume 18 | .DocumentRevisions-V100 19 | .fseventsd 20 | .Spotlight-V100 21 | .TemporaryItems 22 | .Trashes 23 | .VolumeIcon.icns 24 | .com.apple.timemachine.donotpresent 25 | 26 | # Directories potentially created on remote AFP share 27 | .AppleDB 28 | .AppleDesktop 29 | Network Trash Folder 30 | Temporary Items 31 | .apdisk 32 | 33 | ### Python ### 34 | # Byte-compiled / optimized / DLL files 35 | __pycache__/ 36 | *.py[cod] 37 | *$py.class 38 | 39 | # C extensions 40 | *.so 41 | 42 | # Distribution / packaging 43 | .Python 44 | build/ 45 | develop-eggs/ 46 | dist/ 47 | downloads/ 48 | eggs/ 49 | .eggs/ 50 | lib/ 51 | lib64/ 52 | parts/ 53 | sdist/ 54 | var/ 55 | wheels/ 56 | pip-wheel-metadata/ 57 | share/python-wheels/ 58 | *.egg-info/ 59 | .installed.cfg 60 | *.egg 61 | MANIFEST 62 | 63 | # PyInstaller 64 | # Usually these files are written by a python script from a template 65 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 66 | *.manifest 67 | *.spec 68 | 69 | # Installer logs 70 | pip-log.txt 71 | pip-delete-this-directory.txt 72 | 73 | # Unit test / coverage reports 74 | htmlcov/ 75 | .tox/ 76 | .nox/ 77 | .coverage 78 | .coverage.* 79 | .cache 80 | nosetests.xml 81 | coverage.xml 82 | *.cover 83 | .hypothesis/ 84 | .pytest_cache/ 85 | 86 | # Translations 87 | *.mo 88 | *.pot 89 | 90 | # Django stuff: 91 | *.log 92 | local_settings.py 93 | db.sqlite3 94 | db.sqlite3-journal 95 | 96 | # Flask stuff: 97 | instance/ 98 | .webassets-cache 99 | 100 | # Scrapy stuff: 101 | .scrapy 102 | 103 | # Sphinx documentation 104 | docs/_build/ 105 | 106 | # PyBuilder 107 | target/ 108 | 109 | # Jupyter Notebook 110 | .ipynb_checkpoints 111 | 112 | # IPython 113 | profile_default/ 114 | ipython_config.py 115 | 116 | # pyenv 117 | .python-version 118 | 119 | # pipenv 120 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 121 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 122 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 123 | # install all needed dependencies. 124 | #Pipfile.lock 125 | 126 | # celery beat schedule file 127 | celerybeat-schedule 128 | 129 | # SageMath parsed files 130 | *.sage.py 131 | 132 | # Environments 133 | .env 134 | .venv 135 | env/ 136 | venv/ 137 | ENV/ 138 | env.bak/ 139 | venv.bak/ 140 | 141 | # Spyder project settings 142 | .spyderproject 143 | .spyproject 144 | 145 | # Rope project settings 146 | .ropeproject 147 | 148 | # mkdocs documentation 149 | /site 150 | 151 | # mypy 152 | .mypy_cache/ 153 | .dmypy.json 154 | dmypy.json 155 | 156 | # Pyre type checker 157 | .pyre/ 158 | 159 | # End of https://www.gitignore.io/api/osx,python -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2019 Jonathan Soma 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # fuzzy_pandas 2 | 3 | A razor-thin layer over [csvmatch](https://github.com/maxharlow/csvmatch/) that allows you to do fuzzy matching with pandas dataframes. 4 | 5 | ## Installation 6 | 7 | ``` 8 | pip install fuzzy_pandas 9 | ``` 10 | 11 | ## Usage 12 | 13 | To borrow 100% from the [original repo](https://github.com/maxharlow/csvmatch), say you have one CSV file such as: 14 | 15 | ``` 16 | name,location,codename 17 | George Smiley,London,Beggerman 18 | Percy Alleline,London,Tinker 19 | Roy Bland,London,Soldier 20 | Toby Esterhase,Vienna,Poorman 21 | Peter Guillam,Brixton,none 22 | ``` 23 | 24 | And another such as: 25 | 26 | ``` 27 | Person Name,Location 28 | Maria Andreyevna Ostrakova,Russia 29 | Otto Leipzig,Estonia 30 | George SMILEY,London 31 | Peter Guillam,Brixton 32 | Konny Saks,Oxford 33 | ``` 34 | 35 | You can then use `fdp.fuzzy_merge` to see which names are in both files: 36 | 37 | ```python 38 | import pandas as pd 39 | import fuzzy_pandas as fpd 40 | 41 | df1 = pd.read_csv("data1.csv") 42 | df2 = pd.read_csv("data2.csv") 43 | 44 | fpd.fuzzy_merge(df1, df2, 45 | left_on=['name'], 46 | right_on=['Person Name'], 47 | ignore_case=True, 48 | keep='match') 49 | ``` 50 | 51 | |.|name|Person Name| 52 | |---|---|---| 53 | |0|George Smiley|George SMILEY| 54 | |1|Peter Guillam|Peter Guillam| 55 | 56 | That's a terrible, non-fuzzy example, though. Maybe you should hop to the next section if you want something more meaningful? 57 | 58 | ## Examples 59 | 60 | You can find examples, including different types of matches (edit distance, phonetic, etc), [in this notebook from the examples folder](https://github.com/jsoma/fuzzy_pandas/blob/master/examples/fuzzy_pandas%20examples.ipynb). 61 | 62 | ## Options 63 | 64 | All of these options can be sent as arguments to `fpd.fuzzy_merge`. 65 | 66 | * **left** : DataFrame 67 | * **right** : DataFrame 68 | - Object to merge `left` with 69 | * **on** : `str` or `list` 70 | - Column names to compare. These must be found in both DataFrames. 71 | * **left_on** : `str` or `list` 72 | - Column names to compare in the left DataFrame. 73 | * **right_on** : `str` or `list` 74 | - Column names to compare in the right DataFrame. 75 | * **keep** : str { 'all', 'match' } 76 | - Overrides `keep_left` and `keep_right` 77 | * **keep_left** : `str` or `list`, default 'all' 78 | - List of columns to preserve from the left DataFrame. 79 | - If 'all', preserve all columns. 80 | - If 'match', preserve left_on matching) column. 81 | - If any other string, just keeps that one column. 82 | * **keep_right** : `str` or `list`, default 'all' 83 | - List of columns to preserve from the right DataFrame. 84 | - If 'all', preserve all columns. Defaults to right_on. 85 | - If 'match', preserve right_on (matching) column. 86 | - If any other string, just keeps that one column. 87 | * **method** : `str` or `list`, default 'exact' 88 | - Perform a fuzzy match, and an optional specified algorithm. 89 | - Multiple algorithms can be specified which will apply to each field respectively. 90 | - Options: 91 | * **exact**: exact matches 92 | * **levenshtein**: string distance metric 93 | * **jaro**: string distance metric 94 | * **metaphone**: phoenetic matching algorithm 95 | * **bilenko**: prompts for matches 96 | * **threshold** : float or list, default `0.6` 97 | - The threshold for a fuzzy match as a number between 0 and 1 98 | - Multiple numbers will be applied to each field respectively 99 | * **ignore_case** : bool, default `False` 100 | - Ignore case (default is case-sensitive) 101 | * **ignore_nonalpha** : bool, default `False` 102 | - Ignore non-alphanumeric characters 103 | * **ignore_nonlatin** : bool, default `False` 104 | - Ignore characters from non-latin alphabets 105 | - Accented characters are compared to their unaccented equivalent 106 | * **ignore_order_words** : bool, default `False` 107 | - Ignore the order words are given in 108 | * **ignore_order_letters** : bool, default `False` 109 | - Ignore the order the letters are given in, regardless of word order 110 | * **ignore_titles** : bool, default `False` 111 | - Ignore a predefined list of name titles (such as Mr, Ms, etc) 112 | * **join** : { 'inner', 'left-outer', 'right-outer', 'full-outer' } 113 | 114 | For more how-to information, check out [the examples folder](https://github.com/jsoma/fuzzy_pandas/tree/master/examples) or the [the original repo](https://github.com/maxharlow/csvmatch). 115 | -------------------------------------------------------------------------------- /examples/data/bloomberg-billionaires.csv: -------------------------------------------------------------------------------- 1 | Rank,Name,Total_net_worth,Country,Industry 2 | 1,Jeff Bezos,$136B,United States,Technology 3 | 2,Bill Gates,$93.3B,United States,Technology 4 | 3,Warren Buffett,$80.6B,United States,Diversified 5 | 4,Bernard Arnault,$71.6B,France,Consumer 6 | 5,Amancio Ortega,$61.1B,Spain,Retail 7 | 6,Carlos Slim,$59.0B,Mexico,Diversified 8 | 7,Mark Zuckerberg,$56.9B,United States,Technology 9 | 8,Larry Page,$52.3B,United States,Technology 10 | 9,Larry Ellison,$52.3B,United States,Technology 11 | 10,Sergey Brin,$50.9B,United States,Technology 12 | 11,Francoise Bettencourt Meyers,$45.5B,France,Consumer 13 | 12,Jim Walton,$45.0B,United States,Retail 14 | 13,Rob Walton,$44.8B,United States,Retail 15 | 14,Charles Koch,$44.4B,United States,Industrial 16 | 15,David Koch,$44.4B,United States,Industrial 17 | 16,Alice Walton,$43.6B,United States,Retail 18 | 17,Mukesh Ambani,$42.9B,India,Energy 19 | 18,Steve Ballmer,$39.1B,United States,Technology 20 | 19,Jack Ma,$37.8B,China,Technology 21 | 20,Pony Ma,$33.9B,China,Technology 22 | 21,Jacqueline Mars,$33.6B,United States,Food & Beverage 23 | 22,John Mars,$33.6B,United States,Food & Beverage 24 | 23,Sheldon Adelson,$31.7B,United States,Entertainment 25 | 24,Li Ka-Shing,$30.1B,Hong Kong,Real Estate 26 | 25,Hui Ka Yan,$30.1B,China,Real Estate 27 | 26,Francois Pinault,$30.0B,France,Consumer 28 | 27,Phil Knight,$29.9B,United States,Consumer 29 | 28,Michael Dell,$26.6B,United States,Technology 30 | 29,Tadashi Yanai,$26.3B,Japan,Retail 31 | 30,Elon R Musk,$25.5B,United States,Technology 32 | 31,Dieter Schwarz,$23.1B,Germany,Retail 33 | 32,Lee Shau Kee,$22.7B,Hong Kong,Real Estate 34 | 33,Giovanni Ferrero,$22.6B,Italy,Food & Beverage 35 | 34,Jorge Paulo Lemann,$21.3B,Brazil,Food & Beverage 36 | 35,Leonardo del Vecchio,$20.9B,Italy,Consumer 37 | 36,Vladimir Potanin,$20.5B,Russian Federation,Commodities 38 | 37,Leonid Mikhelson,$20.1B,Russian Federation,Energy 39 | 38,Susanne Klatten,$20.0B,Germany,Industrial 40 | 39,Pallonji Mistry,$20.0B,Ireland,Industrial 41 | 40,Carl Icahn,$18.8B,United States,Diversified 42 | 41,Len Blavatnik,$18.7B,United States,Diversified 43 | 42,Alain Wertheimer,$18.6B,France,Consumer 44 | 43,Gerard Wertheimer,$18.6B,France,Consumer 45 | 44,Rupert Murdoch,$18.4B,United States,Media & Telecom 46 | 45,Alexey Mordashov,$18.3B,Russian Federation,Industrial 47 | 46,Vladimir Lisin,$18.3B,Russian Federation,Industrial 48 | 47,Laurene Powell Jobs,$18.3B,United States,Media & Telecom 49 | 48,Wang Jianlin,$17.9B,China,Real Estate 50 | 49,Yang Huiyan,$17.7B,China,Real Estate 51 | 50,Donald Bren,$17.2B,United States,Real Estate 52 | 51,Vagit Alekperov,$17.2B,Russian Federation,Energy 53 | 52,Azim Premji,$17.1B,India,Technology 54 | 53,Joseph Safra,$17.1B,Brazil,Finance 55 | 54,Stefan Quandt,$16.8B,Germany,Industrial 56 | 55,Robert Kuok,$16.6B,Malaysia,Diversified 57 | 56,Thomas Peterffy,$16.5B,United States,Finance 58 | 57,Ron Perelman,$16.0B,United States,Diversified 59 | 58,Lee Kun Hee,$15.9B,"Korea, Republic of",Diversified 60 | 59,Ernesto Bertarelli,$15.6B,Switzerland,Diversified 61 | 60,Lukas Walton,$15.6B,United States,Retail 62 | 61,Jim Simons,$15.5B,United States,Finance 63 | 62,Stefan Persson,$15.3B,Sweden,Retail 64 | 63,Heinz Hermann Thiele,$15.3B,Germany,Industrial 65 | 64,Elaine Marshall,$15.2B,United States,Industrial 66 | 65,Iris Fontbona,$15.1B,Chile,Commodities 67 | 66,Gina Rinehart,$15.0B,Australia,Commodities 68 | 67,Leonard Lauder,$14.8B,United States,Consumer 69 | 68,Alwaleed Al Saud,$14.8B,Saudi Arabia,Diversified 70 | 69,Takemitsu Takizaki,$14.7B,Japan,Technology 71 | 70,Alisher Usmanov,$14.6B,Russian Federation,Diversified 72 | 71,Ray Dalio,$14.5B,United States,Finance 73 | 72,William Ding,$14.5B,China,Technology 74 | 73,Gennady Timchenko,$14.4B,Russian Federation,Diversified 75 | 74,Roman Abramovich,$14.4B,Russian Federation,Diversified 76 | 75,Lakshmi Mittal,$14.3B,India,Commodities 77 | 76,Charlene de Carvalho-Heineken,$14.2B,Netherlands,Food & Beverage 78 | 77,Zhang Zhidong,$14.2B,China,Technology 79 | 78,Budi Hartono,$14.2B,Indonesia,Diversified 80 | 79,Henry Cheng,$14.1B,Hong Kong,Retail 81 | 80,He Xiangjian,$14.0B,China,Consumer 82 | 81,John Menard Jr,$13.7B,United States,Retail 83 | 82,Lui Che Woo,$13.6B,Hong Kong,Entertainment 84 | 83,Harold Hamm,$13.6B,United States,Energy 85 | 84,Dietrich Mateschitz,$13.6B,Austria,Food & Beverage 86 | 85,Colin Huang,$13.6B,China,Technology 87 | 86,Viktor Vekselberg,$13.4B,Russian Federation,Industrial 88 | 87,Michael Hartono,$13.4B,Indonesia,Diversified 89 | 88,Jim Ratcliffe,$13.2B,United Kingdom,Industrial 90 | 89,Shiv Nadar,$13.1B,India,Technology 91 | 90,Masayoshi Son,$13.0B,Japan,Technology 92 | 91,Andrey Melnichenko,$12.8B,Russian Federation,Industrial 93 | 92,Mikhail Fridman,$12.8B,Russian Federation,Diversified 94 | 93,Eric Schmidt,$12.5B,United States,Technology 95 | 94,Klaus-Michael Kuehne,$12.4B,Germany,Industrial 96 | 95,Hugh Grosvenor,$12.4B,United Kingdom,Real Estate 97 | 96,Stefano Pessina,$12.4B,Monaco,Retail 98 | 97,Hasso Plattner,$12.2B,Germany,Technology 99 | 98,Steve Schwarzman,$12.1B,United States,Finance 100 | 99,Carl Cook,$12.0B,United States,Health Care 101 | 100,Alejandro Santo Domingo,$12.0B,Colombia,Food & Beverage 102 | 101,Charoen Sirivadhanabhakdi,$12.0B,Thailand,Food & Beverage 103 | 102,Robin Li,$12.0B,China,Technology 104 | 103,Thomas Frist,$11.9B,United States,Health Care 105 | 104,Petr Kellner,$11.9B,Czech Republic,Diversified 106 | 105,Abby Johnson,$11.8B,United States,Finance 107 | 106,Thomas Kwok,$11.7B,Hong Kong,Real Estate 108 | 107,Raymond Kwok,$11.7B,Hong Kong,Real Estate 109 | 108,Phil Anschutz,$11.7B,United States,Diversified 110 | 109,Donald Newhouse,$11.7B,United States,Media & Telecom 111 | 110,Hans Rausing,$11.4B,Sweden,Diversified 112 | 111,Autry Stephens,$11.4B,United States,Energy 113 | 112,Michael Kadoorie,$11.2B,Hong Kong,Energy 114 | 113,David Tepper,$11.1B,United States,Finance 115 | 114,Dave Duffield,$11.1B,United States,Technology 116 | 115,Uday Kotak,$11.1B,India,Finance 117 | 116,Georg Schaeffler,$11.0B,Germany,Industrial 118 | 117,Reinhold Wuerth,$11.0B,Germany,Industrial 119 | 118,Micky Arison,$10.9B,United States,Entertainment 120 | 119,Peter Woo,$10.8B,Hong Kong,Real Estate 121 | 120,Jim Goodnight,$10.8B,United States,Technology 122 | 121,Ricardo Salinas,$10.7B,Mexico,Diversified 123 | 122,Dustin Moskovitz,$10.6B,United States,Technology 124 | 123,Alberto Bailleres,$10.6B,Mexico,Commodities 125 | 124,Mikhail Prokhorov,$10.6B,Russian Federation,Diversified 126 | 125,Wang Wei,$10.5B,China,Services 127 | 126,George Kaiser,$10.4B,United States,Energy 128 | 127,Li Shu Fu,$10.4B,China,Industrial 129 | 128,Luis Sarmiento,$10.3B,Colombia,Finance 130 | 129,Tan Siok Tjien,$10.3B,Indonesia,Consumer 131 | 130,Dmitry Rybolovlev,$10.2B,Russian Federation,Diversified 132 | 131,James Dyson,$10.2B,United Kingdom,Consumer 133 | 132,Steve Cohen,$10.2B,United States,Finance 134 | 133,Jan Koum,$10.1B,United States,Technology 135 | 134,Stephen Ross,$10.1B,United States,Real Estate 136 | 135,Aliko Dangote,$9.97B,Nigeria,Industrial 137 | 136,Charlie Ergen,$9.95B,United States,Media & Telecom 138 | 137,Marcel Telles,$9.87B,Brazil,Food & Beverage 139 | 138,Lei Jun,$9.77B,China,Technology 140 | 139,Gordon Moore,$9.65B,United States,Technology 141 | 140,Eyal Ofer,$9.52B,Israel,Services 142 | 141,Karl Albrecht Jr,$9.48B,Germany,Retail 143 | 142,Beate Heister,$9.48B,Germany,Retail 144 | 143,Joseph Tsai,$9.42B,Canada,Technology 145 | 144,Robert Rowling,$9.42B,United States,Energy 146 | 145,Sara Mota de Larrea,$9.41B,Mexico,Commodities 147 | 146,Harry Triguboff,$9.20B,Australia,Real Estate 148 | 147,Victor Rashnikov,$9.09B,Russian Federation,Industrial 149 | 148,Carlos Sicupira,$9.02B,Brazil,Food & Beverage 150 | 149,Eka Widjaja,$8.93B,Indonesia,Diversified 151 | 150,Ken Griffin,$8.84B,United States,Finance 152 | 151,Mohammed Al-Amoudi,$8.78B,Saudi Arabia,Energy 153 | 152,Pierre Omidyar,$8.61B,United States,Technology 154 | 153,German Khan,$8.58B,Russian Federation,Diversified 155 | 154,Radhakishan Damani,$8.57B,India,Retail 156 | 155,Andy Beal,$8.50B,United States,Finance 157 | 156,Xu Shihui,$8.46B,China,Food & Beverage 158 | 157,August von Finck,$8.42B,Germany,Diversified 159 | 158,Dilip Shanghvi,$8.40B,India,Health Care 160 | 159,Marijke Mars,$8.37B,United States,Food & Beverage 161 | 160,Victoria Mars,$8.37B,United States,Food & Beverage 162 | 161,Pam Mars-Wright,$8.37B,United States,Food & Beverage 163 | 162,Valerie Mars,$8.37B,United States,Food & Beverage 164 | 163,John Malone,$8.35B,United States,Media & Telecom 165 | 164,Charles Schwab,$8.31B,United States,Finance 166 | 165,Joseph Lau,$8.30B,Hong Kong,Real Estate 167 | 166,Wee Cho Yaw,$8.29B,Singapore,Finance 168 | 167,Ma Jianrong,$8.22B,China,Consumer 169 | 168,Blair Parry-Okeden,$8.21B,United States,Media & Telecom 170 | 169,Jim Kennedy,$8.21B,United States,Media & Telecom 171 | 170,Wu Yajun,$8.18B,China,Real Estate 172 | 171,Bertil Hult,$8.14B,Sweden,Diversified 173 | 172,John Fredriksen,$8.08B,Cyprus,Industrial 174 | 173,Stan Kroenke,$8.04B,United States,Real Estate 175 | 174,Pang Kang,$8.03B,China,Food & Beverage 176 | 175,Charles Gerald John Cadogan,$7.95B,United Kingdom,Real Estate 177 | 176,Patrick Soon-Shiong,$7.87B,United States,Health Care 178 | 177,Cyrus Poonawalla,$7.85B,India,Health Care 179 | 178,Gianluigi Aponte,$7.84B,Switzerland,Services 180 | 179,Eduardo Saverin,$7.83B,Brazil,Technology 181 | 180,David Geffen,$7.69B,United States,Entertainment 182 | 181,Yongxing Liu,$7.60B,China,Industrial 183 | 182,Gautam Adani,$7.57B,India,Industrial 184 | 183,Paolo Rocca,$7.56B,Italy,Commodities 185 | 184,Dietmar Hopp,$7.45B,Germany,Technology 186 | 185,Melker Schorling,$7.45B,Sweden,Diversified 187 | 186,Hui Wing Mau,$7.44B,Hong Kong,Real Estate 188 | 187,Teh Hong Piow,$7.41B,Malaysia,Finance 189 | 188,Richard LeFrak,$7.38B,United States,Real Estate 190 | 189,Emmanuel Besnier,$7.36B,France,Food & Beverage 191 | 190,Jim Davis,$7.34B,United States,Consumer 192 | 191,Galen Weston,$7.31B,Canada,Retail 193 | 192,Goh Cheng Liang,$7.28B,Singapore,Industrial 194 | 193,John Albert Sobrato,$7.27B,United States,Real Estate 195 | 194,Silvio Berlusconi,$7.22B,Italy,Media & Telecom 196 | 195,Henry Sy Sr,$7.22B,Philippines,Diversified 197 | 196,Mohamed Al Jaber,$7.19B,Saudi Arabia,Retail 198 | 197,Tim Sweeney,$7.18B,United States,Technology 199 | 198,Sherry Brydson,$7.12B,Canada,Media & Telecom 200 | 199,Nusli Wadia,$7.12B,India,Diversified 201 | 200,Christy Walton,$7.09B,United States,Retail 202 | 201,Leonid Fedun,$7.07B,Russian Federation,Energy 203 | 202,Gustaf Douglas,$7.04B,Sweden,Diversified 204 | 203,Savitri Jindal,$7.01B,India,Commodities 205 | 204,George Soros,$7.00B,United States,Finance 206 | 205,Ronald McAulay,$6.99B,Hong Kong,Energy 207 | 206,Reinhold Schmieding,$6.98B,United States,Health Care 208 | 207,Hansjoerg Wyss,$6.94B,Switzerland,Health Care 209 | 208,Eli Broad,$6.92B,United States,Diversified 210 | 209,Gong Hongjia,$6.89B,China,Technology 211 | 210,Theo Albrecht Jr,$6.85B,Germany,Retail 212 | 211,Nicky Oppenheimer,$6.83B,South Africa,Diversified 213 | 212,Ned Johnson III,$6.82B,United States,Finance 214 | 213,Frederik Paulsen,$6.80B,Sweden,Health Care 215 | 214,George Lucas,$6.78B,United States,Entertainment 216 | 215,Dan Gilbert,$6.73B,United States,Real Estate 217 | 216,Jim Pattison,$6.66B,Canada,Media & Telecom 218 | 217,Sun Hongbin,$6.65B,United States,Real Estate 219 | 218,Richard Kinder,$6.62B,United States,Energy 220 | 219,Heinrich Deichmann,$6.59B,Germany,Retail 221 | 220,Sun Piaoyang,$6.56B,China,Health Care 222 | 221,Zeng Yuqun,$6.54B,Hong Kong,Industrial 223 | 222,Prakash Lohia,$6.53B,Indonesia,Industrial 224 | 223,Jorn Rausing,$6.51B,Sweden,Services 225 | 224,Alexey Kuzmichev,$6.50B,Russian Federation,Diversified 226 | 225,Marc Benioff,$6.44B,United States,Technology 227 | 226,Johann Rupert,$6.43B,South Africa,Diversified 228 | 227,Frank Wang,$6.42B,China,Technology 229 | 228,Randa Duncan Williams,$6.41B,United States,Energy 230 | 229,Dannine Avara,$6.41B,United States,Energy 231 | 230,Scott Duncan,$6.41B,United States,Energy 232 | 231,Milane Duncan Frantz,$6.41B,United States,Energy 233 | 232,Seo Jung-Jin,$6.41B,"Korea, Republic of",Health Care 234 | 233,Marian Ilitch,$6.41B,United States,Food & Beverage 235 | 234,Antonia Axson Johnson,$6.41B,Sweden,Industrial 236 | 235,Ralph Lauren,$6.39B,United States,Consumer 237 | 236,Patrick Drahi,$6.38B,France,Media & Telecom 238 | 237,Jay Y Lee,$6.36B,"Korea, Republic of",Diversified 239 | 238,Vivek Sehgal,$6.36B,Australia,Industrial 240 | 239,Nassef Sawiris,$6.35B,Egypt,Industrial 241 | 240,Graeme Hart,$6.31B,New Zealand,Finance 242 | 241,Robert Pera,$6.31B,United States,Technology 243 | 242,Sandra Ortega Mera,$6.29B,Spain,Retail 244 | 243,Mike Cannon-Brookes,$6.27B,Australia,Technology 245 | 244,Scott Farquhar,$6.27B,Australia,Technology 246 | 245,Les Wexner,$6.26B,United States,Retail 247 | 246,Pedro Moreira Salles,$6.26B,Brazil,Finance 248 | 247,Jeff Hildebrand,$6.26B,United States,Energy 249 | 248,Vivien Chen,$6.22B,Hong Kong,Real Estate 250 | 249,Kumar Birla,$6.21B,India,Industrial 251 | 250,Alexander Abramov,$6.15B,Russian Federation,Industrial 252 | 251,Kei Hoi Pang,$6.13B,China,Real Estate 253 | 252,Liu Yonghao,$6.11B,China,Diversified 254 | 253,Joao Moreira Salles,$6.09B,Brazil,Finance 255 | 254,Fernando Moreira Salles,$6.09B,Brazil,Finance 256 | 255,Walter Salles,$6.09B,Brazil,Finance 257 | 256,Charles Butt,$6.09B,United States,Retail 258 | 257,Johann Graf,$6.04B,Austria,Entertainment 259 | 258,Wu Shaoxun,$6.03B,China,Food & Beverage 260 | 259,Giorgio Armani,$6.01B,Italy,Consumer 261 | 260,Andy Bechtolsheim,$5.99B,Germany,Technology 262 | 261,Tsai Eng-Meng,$5.98B,Taiwan,Food & Beverage 263 | 262,Simon Reuben,$5.95B,United Kingdom,Diversified 264 | 263,David Reuben,$5.95B,United Kingdom,Diversified 265 | 264,Jerry Jones,$5.95B,United States,Entertainment 266 | 265,Natie Kirsh,$5.91B,South Africa,Food & Beverage 267 | 266,John P Grayken,$5.80B,Ireland,Finance 268 | 267,Kirsten Rausing,$5.79B,Sweden,Services 269 | 268,Finn Rausing,$5.79B,Sweden,Services 270 | 269,Aloys Wobben,$5.74B,Germany,Energy 271 | 270,Steven Spielberg,$5.73B,United States,Entertainment 272 | 271,Joe Lewis,$5.71B,United Kingdom,Diversified 273 | 272,Henry Kravis,$5.68B,United States,Finance 274 | 273,Bob Rich,$5.67B,United States,Food & Beverage 275 | 274,Stef Wertheimer,$5.65B,Israel,Diversified 276 | 275,George Roberts,$5.65B,United States,Finance 277 | 276,Ray Hunt,$5.60B,United States,Energy 278 | 277,Niels Louis-Hansen,$5.58B,Denmark,Health Care 279 | 278,Majid Al Futtaim,$5.57B,United Arab Emirates,Real Estate 280 | 279,Petr Aven,$5.55B,Russian Federation,Diversified 281 | 280,Ludwig Merckle,$5.55B,Germany,Industrial 282 | 281,John Paulson,$5.48B,United States,Finance 283 | 282,Richard Liu,$5.48B,China,Technology 284 | 283,Travis Kalanick,$5.45B,United States,Technology 285 | 284,Rinat Akhmetov,$5.44B,Ukraine,Industrial 286 | 285,Margaretta Taylor,$5.43B,United States,Media & Telecom 287 | 286,James Chambers,$5.43B,United States,Media & Telecom 288 | 287,Katharine Rayner,$5.43B,United States,Media & Telecom 289 | 288,Theo Mueller,$5.43B,Germany,Food & Beverage 290 | 289,Leon Black,$5.42B,United States,Finance 291 | 290,Arthur Irving,$5.41B,Canada,Energy 292 | 291,Zhang Jindong,$5.40B,China,Retail 293 | 292,Philip Ng,$5.36B,Singapore,Real Estate 294 | 293,Charles Dolan,$5.34B,United States,Media & Telecom 295 | 294,Sultan Al Kabeer,$5.32B,Saudi Arabia,Consumer 296 | 295,John Sall,$5.31B,United States,Technology 297 | 296,Terry Pegula,$5.31B,United States,Energy 298 | 297,Diane Hendricks,$5.30B,United States,Services 299 | 298,Shari Arison,$5.29B,Israel,Diversified 300 | 299,Robert Ng,$5.26B,Singapore,Real Estate 301 | 300,Zhang Bangxin,$5.24B,China,Services 302 | 301,JK Irving,$5.19B,Canada,Commodities 303 | 302,Lynn Schusterman,$5.19B,United States,Energy 304 | 303,Micree Zhan,$5.19B,China,Technology 305 | 304,Benu Gopal Bangur,$5.18B,India,Commodities 306 | 305,Ermirio de Moraes,$5.12B,Brazil,Commodities 307 | 306,Jeff Sutton,$5.11B,United States,Real Estate 308 | 307,Maria Helena Moraes,$5.09B,Brazil,Industrial 309 | 308,Ronda Stryker,$5.09B,United States,Health Care 310 | 309,Kim Jungju,$5.08B,"Korea, Republic of",Technology 311 | 310,Richard Branson,$5.08B,United Kingdom,Diversified 312 | 311,Margarita Louis-Dreyfus,$5.07B,Switzerland,Commodities 313 | 312,Bidzina Ivanishvili,$5.07B,Georgia,Diversified 314 | 313,Tan Kim Choo,$5.06B,Singapore,Real Estate 315 | 314,Stan Druckenmiller,$5.06B,United States,Finance 316 | 315,Izzy Englander,$5.05B,United States,Finance 317 | 316,David Shaw,$5.03B,United States,Finance 318 | 317,Wolfgang Marguerre,$4.98B,Germany,Health Care 319 | 318,Lucio Tan,$4.97B,Philippines,Diversified 320 | 319,Leonard Stern,$4.97B,United States,Real Estate 321 | 320,Tamara Hughes Gustavson,$4.97B,United States,Services 322 | 321,Jack Dorsey,$4.96B,United States,Technology 323 | 322,Tilman Fertitta,$4.94B,United States,Entertainment 324 | 323,Alexander Otto,$4.94B,Germany,Real Estate 325 | 324,Cai Kui,$4.94B,China,Real Estate 326 | 325,Xavier Niel,$4.91B,France,Technology 327 | 326,Quek Leng Chan,$4.91B,Malaysia,Diversified 328 | 327,Ivan Glasenberg,$4.90B,Australia,Commodities 329 | 328,Dennis Washington,$4.90B,United States,Industrial 330 | 329,Lee Shin Cheng,$4.89B,Malaysia,Commodities 331 | 330,Yasumitsu Shigeta,$4.88B,Japan,Media & Telecom 332 | 331,Naguib Sawiris,$4.87B,Egypt,Media & Telecom 333 | 332,David Thomson,$4.84B,Canada,Media & Telecom 334 | 333,Jeff Skoll,$4.82B,Canada,Technology 335 | 334,Nancy Walton Laurie,$4.80B,United States,Retail 336 | 335,Francis Choi,$4.78B,Hong Kong,Real Estate 337 | 336,Vincent Bollore,$4.78B,France,Diversified 338 | 337,Kenneth Dart,$4.77B,Cayman Islands,Finance 339 | 338,Dhanin Chearavanont,$4.77B,Thailand,Retail 340 | 339,Lino Saputo,$4.76B,Canada,Food & Beverage 341 | 340,Trevor Rees-Jones,$4.75B,United States,Energy 342 | 341,Kjeld Kristiansen,$4.74B,Denmark,Consumer 343 | 342,Kelcy Warren,$4.72B,United States,Energy 344 | 343,Lu Weiding,$4.72B,China,Diversified 345 | 344,David Filo,$4.71B,United States,Technology 346 | 345,Pierre Bellon,$4.71B,France,Retail 347 | 346,Samuel Yin,$4.70B,Taiwan,Diversified 348 | 347,Shigenobu Nagamori,$4.70B,Japan,Industrial 349 | 348,Hiroshi Mikitani,$4.69B,Japan,Retail 350 | 349,Tom Love,$4.69B,United States,Retail 351 | 350,Judy Love,$4.69B,United States,Retail 352 | 351,Axel Oberwelland,$4.68B,Germany,Food & Beverage 353 | 352,Li Shuirong,$4.68B,China,Energy 354 | 353,Terry Gou,$4.66B,Taiwan,Industrial 355 | 354,Rahul Bajaj,$4.65B,India,Diversified 356 | 355,Michael Herz,$4.65B,Germany,Consumer 357 | 356,Wolfgang Herz,$4.65B,Germany,Consumer 358 | 357,Anthony Pratt,$4.64B,Australia,Industrial 359 | 358,Helen Johnson-Leipold,$4.64B,United States,Consumer 360 | 359,Liz Mohn,$4.63B,Germany,Media & Telecom 361 | 360,Guenther Fielmann,$4.63B,Germany,Consumer 362 | 361,Pansy Catilina Ho,$4.62B,Hong Kong,Entertainment 363 | 362,Taylor Thomson,$4.61B,Canada,Media & Telecom 364 | 363,Sofie Kiaer Kristiansen,$4.59B,Denmark,Consumer 365 | 364,Agnete Thinggaard,$4.59B,Denmark,Consumer 366 | 365,Peter Thomson,$4.59B,Canada,Media & Telecom 367 | 366,Whitney MacMillan,$4.58B,United States,Commodities 368 | 367,Gwendolyn Sontheim Meyer,$4.58B,United States,Commodities 369 | 368,Pauline MacMillan Keinath,$4.58B,United States,Commodities 370 | 369,Thomas Kristiansen,$4.58B,Denmark,Consumer 371 | 370,Charles Johnson,$4.58B,United States,Finance 372 | 371,Herbert Johnson III,$4.54B,United States,Consumer 373 | 372,Winnie Johnson,$4.54B,United States,Consumer 374 | 373,Curt Johnson III,$4.54B,United States,Consumer 375 | 374,Udo Tschira,$4.54B,Germany,Technology 376 | 375,Harald Tschira,$4.54B,Germany,Technology 377 | 376,Olav Thon,$4.53B,Norway,Real Estate 378 | 377,Edward Roski,$4.53B,United States,Real Estate 379 | 378,Ananda Krishnan,$4.52B,Malaysia,Diversified 380 | 379,Masatoshi Ito,$4.51B,Japan,Retail 381 | 380,Frank Lowy,$4.49B,Australia,Real Estate 382 | 381,Shahid Khan,$4.49B,United States,Consumer 383 | 382,Gabe Newell,$4.48B,United States,Technology 384 | 383,Odd Reitan,$4.47B,Norway,Food & Beverage 385 | 384,Jude Reyes,$4.47B,United States,Consumer 386 | 385,Chris Reyes,$4.47B,United States,Consumer 387 | 386,Abdullah Al Ghurair,$4.47B,United Arab Emirates,Diversified 388 | 387,Roberto Marinho,$4.44B,Brazil,Media & Telecom 389 | 388,Joao Marinho,$4.44B,Brazil,Media & Telecom 390 | 389,Laurence Graff,$4.44B,United Kingdom,Consumer 391 | 390,Zhou Hongyi,$4.43B,China,Technology 392 | 391,Richard Li,$4.42B,Hong Kong,Media & Telecom 393 | 392,Magdalena Martullo-Blocher,$4.42B,Switzerland,Industrial 394 | 393,Jose Marinho,$4.41B,Brazil,Media & Telecom 395 | 394,Anders Holch Povlsen,$4.38B,Denmark,Retail 396 | 395,K P Singh,$4.36B,India,Real Estate 397 | 396,Bob Kraft,$4.36B,United States,Entertainment 398 | 397,Denise Coates,$4.36B,United Kingdom,Entertainment 399 | 398,Guo Guangchang,$4.36B,China,Finance 400 | 399,Thomas Schmidheiny,$4.35B,Switzerland,Industrial 401 | 400,Idan Ofer,$4.35B,Israel,Energy 402 | 401,Iskander Makhmudov,$4.35B,Russian Federation,Commodities 403 | 402,Sam Zell,$4.34B,United States,Real Estate 404 | 403,Nie Tengyun,$4.34B,China,Services 405 | 404,Vikram Lal,$4.34B,India,Industrial 406 | 405,Zhang Shiping,$4.33B,China,Industrial 407 | 406,Rahel Blocher,$4.32B,Switzerland,Industrial 408 | 407,Chung Mong-Koo,$4.32B,"Korea, Republic of",Industrial 409 | 408,Jaime Gilinski Bacal,$4.31B,Colombia,Finance 410 | 409,Xu Jingren,$4.30B,China,Health Care 411 | 410,Wang Chuan-Fu,$4.29B,China,Consumer 412 | 411,David Cheriton,$4.29B,Canada,Technology 413 | 412,Micky Jagtiani,$4.25B,India,Retail 414 | 413,Judy Faulkner,$4.25B,United States,Technology 415 | 414,Andre Hoffmann,$4.24B,Switzerland,Health Care 416 | 415,Rupert Johnson,$4.24B,United States,Finance 417 | 416,Vera Michalski-Hoffmann,$4.23B,Switzerland,Health Care 418 | 417,Maja Hoffmann,$4.23B,Switzerland,Health Care 419 | 418,Walter Faria,$4.21B,Brazil,Food & Beverage 420 | 419,Antti Herlin,$4.20B,Finland,Industrial 421 | 420,Bernie Marcus,$4.20B,United States,Retail 422 | 421,Woody Johnson,$4.19B,United States,Diversified 423 | 422,Isaac Perlmutter,$4.19B,United States,Entertainment 424 | 423,Reed Hastings,$4.17B,United States,Technology 425 | 424,Sumet Jiaravanon,$4.17B,Thailand,Diversified 426 | 425,Anthoni Salim,$4.17B,Indonesia,Diversified 427 | 426,Rocco Commisso,$4.15B,United States,Media & Telecom 428 | 427,David Sun,$4.15B,United States,Technology 429 | 428,John Tu,$4.15B,United States,Technology 430 | 429,Thomas Strungmann,$4.15B,Germany,Health Care 431 | 430,Andreas Strungmann,$4.15B,Germany,Health Care 432 | 431,Ted Lerner,$4.14B,United States,Real Estate 433 | 432,Pat Stryker,$4.13B,United States,Health Care 434 | 433,Jaran Chiaravanont,$4.13B,Thailand,Diversified 435 | 434,Ross Perot,$4.13B,United States,Diversified 436 | 435,Sarath Ratanavadi,$4.12B,India,Energy 437 | 436,B Wayne Hughes,$4.12B,United States,Services 438 | 437,Friede Springer,$4.12B,Germany,Media & Telecom 439 | 438,Andrey Guryev,$4.11B,Russian Federation,Industrial 440 | 439,Igor Olenicoff,$4.11B,United States,Real Estate 441 | 440,Jeremy Jacobs,$4.09B,United States,Food & Beverage 442 | 441,Peter-Alexander Wacker,$4.07B,Germany,Industrial 443 | 442,Bill Koch,$4.07B,United States,Diversified 444 | 443,Alain Merieux,$4.06B,France,Health Care 445 | 444,Enrique Razon,$4.06B,Philippines,Services 446 | 445,Montri Jiaravanont,$4.06B,Thailand,Diversified 447 | 446,John Gandel,$4.05B,Australia,Real Estate 448 | 447,Ben Ashkenazy,$4.05B,United States,Real Estate 449 | 448,Anil Agarwal,$4.04B,India,Industrial 450 | 449,Sergey Galitskiy,$4.04B,Russian Federation,Retail 451 | 450,Tom Morris,$4.03B,United Kingdom,Retail 452 | 451,Traudl Engelhorn-Vechiatto,$4.03B,Switzerland,Diversified 453 | 452,Edwin Leong,$4.02B,Hong Kong,Real Estate 454 | 453,Robert Smith,$4.02B,United States,Finance 455 | 454,Zong Qinghou,$4.01B,China,Food & Beverage 456 | 455,Kjell Inge Rokke,$4.00B,Norway,Industrial 457 | 456,Walter Scott,$3.99B,United States,Energy 458 | 457,Ann Walton Kroenke,$3.99B,United States,Retail 459 | 458,Mark Cuban,$3.98B,United States,Technology 460 | 459,Suh Kyung-Bae,$3.97B,"Korea, Republic of",Consumer 461 | 460,Peter Hargreaves,$3.97B,United Kingdom,Finance 462 | 461,Ira Rennert,$3.97B,United States,Commodities 463 | 462,Frits Goldschmeding,$3.96B,Netherlands,Retail 464 | 463,Henry Laufer,$3.95B,United States,Finance 465 | 464,Zhang Yong,$3.92B,Singapore,Food & Beverage 466 | 465,Shu Ping,$3.92B,Singapore,Food & Beverage 467 | 466,Thomas Pritzker,$3.91B,United States,Finance 468 | 467,Red Emmerson,$3.90B,United States,Industrial 469 | 468,Pankaj Patel,$3.89B,India,Health Care 470 | 469,Suleiman Kerimov,$3.89B,Russian Federation,Commodities 471 | 470,Tung Chien-Cheng,$3.88B,Hong Kong,Services 472 | 471,Guenter Herz,$3.86B,Germany,Diversified 473 | 472,Mark Shoen,$3.86B,United States,Services 474 | 473,Gordon Getty,$3.85B,United States,Diversified 475 | 474,Bruno Schroder,$3.85B,United Kingdom,Finance 476 | 475,Mary Malone,$3.84B,United States,Food & Beverage 477 | 476,Dagmar Dolby,$3.84B,United States,Entertainment 478 | 477,Vyacheslav Moshe Kantor,$3.83B,Russian Federation,Industrial 479 | 478,Daniela Herz,$3.83B,Germany,Diversified 480 | 479,Brian Acton,$3.83B,United States,Technology 481 | 480,Rafael del Pino,$3.82B,Spain,Industrial 482 | 481,Ralph Dommermuth,$3.80B,Germany,Technology 483 | 482,Haim Saban,$3.79B,United States,Entertainment 484 | 483,Denis O'Brien,$3.79B,Ireland,Media & Telecom 485 | 484,Fredrik Lundberg,$3.77B,Sweden,Real Estate 486 | 485,Martin Viessmann,$3.77B,Germany,Industrial 487 | 486,Yao Zhenhua,$3.76B,China,Diversified 488 | 487,Stein Erik Hagen,$3.76B,Norway,Consumer 489 | 488,Ajay Piramal,$3.75B,India,Finance 490 | 489,Tom Gores,$3.75B,United States,Finance 491 | 490,John Reece,$3.75B,United Kingdom,Industrial 492 | 491,Gopichand Hinduja,$3.73B,United Kingdom,Diversified 493 | 492,Prakash Hinduja,$3.73B,India,Diversified 494 | 493,Ashok Hinduja,$3.73B,India,Diversified 495 | 494,Srichand Hinduja,$3.73B,United Kingdom,Diversified 496 | 495,Sergei Popov,$3.73B,Russian Federation,Diversified 497 | 496,Andrew Currie,$3.72B,United Kingdom,Industrial 498 | 497,Jiang Rensheng,$3.72B,China,Health Care 499 | 498,Mark Scheinberg,$3.70B,Isle of Man,Entertainment 500 | 499,Garrett Camp,$3.69B,Canada,Technology 501 | 500,Barry Lam,$3.68B,Taiwan,Technology 502 | -------------------------------------------------------------------------------- /examples/data/data1.csv: -------------------------------------------------------------------------------- 1 | name,location,codename 2 | George Smiley,London,Beggerman 3 | Percy Alleline,London,Tinker 4 | Roy Bland,London,Soldier 5 | Toby Esterhase,Vienna,Poorman 6 | Peter Guillam,Brixton,none 7 | Bill Haydon,London,Tailor 8 | Oliver Lacon,London,none 9 | Jim Prideaux,Slovakia,none 10 | Connie Sachs,Oxford,none 11 | -------------------------------------------------------------------------------- /examples/data/data2.csv: -------------------------------------------------------------------------------- 1 | Person Name,Location 2 | Maria Andreyevna Ostrakova,Russia 3 | Otto Leipzig,Estonia 4 | George SMILEY,London 5 | Peter Guillam,Brixton 6 | Konny Saks,Oxford 7 | Saul Enderby,London 8 | Sam Collins,Vietnam 9 | Tony Esterhase,Vienna 10 | Claus Kretzschmar,Hamburg 11 | -------------------------------------------------------------------------------- /examples/data/forbes-china-billionaires.csv: -------------------------------------------------------------------------------- 1 | position,rank,name,lastName,uri,imageUri,worth,age,source,industry,gender,squareImage 2 | 1,1,Hui Ka Yan,Hui,hui-ka-yan,hui-ka-yan,42500,60,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5bcf80dd31358e5b433443f8/416x416.jpg?background=000000&cropX1=949&cropX2=3612&cropY1=6&cropY2=2668 3 | 2,2,Ma Huateng,Ma,ma-huateng,ma-huateng,39000,47,internet media,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf7e914bbe6f78bda59a2d/416x416.jpg?background=000000&cropX1=422&cropX2=3374&cropY1=318&cropY2=3268 4 | 3,3,Jack Ma,Ma,jack-ma,jack-ma,38600,54,e-commerce,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf7de7a7ea43705914d3df/416x416.jpg?background=000000&cropX1=300&cropX2=2832&cropY1=0&cropY2=2534 5 | 4,4,Wang Jianlin,Wang,wang-jianlin,wang-jianlin,25200,64,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5bcf812fa7ea43705914d453/416x416.jpg?background=000000&cropX1=763&cropX2=2177&cropY1=56&cropY2=1468 6 | 5,5,Wang Wei,Wang,wang-wei,wang-wei,22300,49,package delivery,Service,M,//specials-images.forbesimg.com/imageserve/5bcf84084bbe6f78bda59a7d/416x416.jpg?background=000000&cropX1=417&cropX2=1479&cropY1=196&cropY2=1258 7 | 6,6,Yang Huiyan,Yang,yang-huiyan,yang-huiyan,20700,37,real estate,Real Estate,F,//specials-images.forbesimg.com/imageserve/5a0b1b83a7ea436b47b558ba/416x416.jpg?background=000000&cropX1=1&cropX2=600&cropY1=3&cropY2=602 8 | 7,7,He Xiangjian,He,he-xiangjian,he-xiangjian,18700,76,home appliances,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5bcf819231358e5b4334441e/416x416.jpg?background=000000&cropX1=501&cropX2=2180&cropY1=149&cropY2=1826 9 | 8,8,Robin Li,Li,robin-li,robin-li,17100,50,internet search,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf84514bbe6f78bda59ac2/416x416.jpg?background=000000&cropX1=1294&cropX2=4560&cropY1=0&cropY2=3264 10 | 9,9,William Ding,Ding,william-ding,william-ding,16900,47,online games,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf85184bbe6f78bda59af2/416x416.jpg?background=000000&cropX1=1377&cropX2=3932&cropY1=155&cropY2=2708 11 | 10,10,Li Shufu,Li,li-shufu,li-shufu,16500,55,automobiles,Automotive,M,//specials-images.forbesimg.com/imageserve/5bcf84b931358e5b43344465/416x416.jpg?background=000000&cropX1=1062&cropX2=3351&cropY1=350&cropY2=2637 12 | 11,11,Wang Wenyin,Wang,wang-wenyin,wang-wenyin,13500,51,"mining, copper products",Metals & Mining,M,//specials-images.forbesimg.com/imageserve/5bcf8a4aa7ea43705914d54d/416x416.jpg?background=000000&cropX1=509&cropX2=2220&cropY1=170&cropY2=1882 13 | 12,12,Zhang Zhidong,Zhang,zhang-zhidong,zhang-zhidong,13400,47,internet media,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf8eec31358e5b4334465b/416x416.jpg?background=000000&cropX1=139&cropX2=1113&cropY1=127&cropY2=1102 14 | 13,13,Zhou Qunfei,Zhou,zhou-qunfei,zhou-qunfei,10600,49,smartphone screens,Technology,F,//specials-images.forbesimg.com/imageserve/5bcfa14ca7ea43705914d7fe/416x416.jpg?background=000000&cropX1=681&cropX2=2331&cropY1=308&cropY2=1957 15 | 14,14,Sun Hongbin,Sun,sun-hongbin,sun-hongbin,10400,56,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5bcf997b4bbe6f78bda59e20/416x416.jpg?background=000000&cropX1=361&cropX2=2596&cropY1=398&cropY2=2635 16 | 15,15,Gong Hongjia,Gong,gong-hongjia,gong-hongjia,10300,54,video surveillance,Finance and Investments,M,//specials-images.forbesimg.com/imageserve/5bcf94e531358e5b433447ce/416x416.jpg?background=000000&cropX1=296&cropX2=3488&cropY1=14&cropY2=3204 17 | 16,16,Guo Guangchang,Guo,guo-guangchang,guo-guangchang,10000,51,conglomerate,Diversified,M,//specials-images.forbesimg.com/imageserve/5bcf967f31358e5b433447fa/416x416.jpg?background=000000&cropX1=617&cropX2=1954&cropY1=1496&cropY2=2833 18 | 17,17,Xu Shihui,Xu,xu-shihui,xu-shihui,9500,61,"snacks, beverages",Food and Beverage,M,//specials-images.forbesimg.com/imageserve/5a05f0a14bbe6f37dda22921/416x416.jpg?background=000000&cropX1=9&cropX2=4009&cropY1=480&cropY2=4484 19 | 18,18,Liu Qiangdong,Liu,richard-liu-1,richard-liu-1,9400,44,e-commerce,Technology,M,//specials-images.forbesimg.com/imageserve/5bd0707d4bbe6f78bda5a9de/416x416.jpg?background=000000&cropX1=518&cropX2=1459&cropY1=381&cropY2=1322 20 | 19,19,Pan Zhengmin,Pan,pan-zhengmin,pan-zhengmin,9300,49,electronics,Technology,M,//specials-images.forbesimg.com/imageserve/58dbb68531358e58f079d9b2/416x416.jpg?background=000000&cropX1=51&cropX2=956&cropY1=3&cropY2=908 21 | 20,20,Zong Qinghou,Zong,zong-qinghou,zong-qinghou,9100,73,beverages,Food and Beverage,M,//specials-images.forbesimg.com/imageserve/5bcf9256a7ea43705914d66b/416x416.jpg?background=000000&cropX1=768&cropX2=5141&cropY1=36&cropY2=4408 22 | 21,21,Yao Zhenhua,Yao,yao-zhenhua,yao-zhenhua,8200,48,conglomerate,Diversified,M,//specials-images.forbesimg.com/imageserve/562a8d9de4b0ffa7afe63737/416x416.jpg?background=000000&cropX1=50&cropX2=697&cropY1=276&cropY2=924 23 | 22,22,Hui Wing Mau,Hui,hui-wing-mau,hui-wing-mau,7200,68,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/561fab67e4b0ffa7afe5e19a/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=48&cropY2=792 24 | 23,23,Sun Piaoyang,Sun,sun-piaoyang,sun-piaoyang,7100,60,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5bcf9178a7ea43705914d65b/416x416.jpg?background=000000&cropX1=724&cropX2=3557&cropY1=0&cropY2=2832 25 | 24,24,Wu Yajun,Wu,wu-yajun,wu-yajun,6900,55,real estate,Real Estate,F,//specials-images.forbesimg.com/imageserve/59e8b2be4bbe6f37dda0c173/416x416.jpg?background=000000&cropX1=600&cropX2=3651&cropY1=485&cropY2=3538 26 | 25,25,Lei Jun,Lei,lei-jun,lei-jun,6800,49,smartphones,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf87644bbe6f78bda59b67/416x416.jpg?background=000000&cropX1=1268&cropX2=4520&cropY1=527&cropY2=3778 27 | 26,26,Yan Zhi,Yan,yan-zhi,yan-zhi,6700,46,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5bcf9761a7ea43705914d704/416x416.jpg?background=000000&cropX1=278&cropX2=1136&cropY1=51&cropY2=908 28 | 27,27,Zhang Jinmei,Zhang,zhang-jinmei,no-pic-female,6500,,conglomerate,Automotive,F, 29 | 28,28,Liu Yongxing,Liu,liu-yongxing,liu-yongxing,6400,70,diversified,Service,M,//specials-images.forbesimg.com/imageserve/5bcf9afc4bbe6f78bda59e6f/416x416.jpg?background=000000&cropX1=778&cropX2=3654&cropY1=6&cropY2=2880 30 | 29,29,Wang Wenxue,Wang,wang-wenxue,wang-wenxue,6350,51,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/57fcec2e4bbe6f19f2b4eed9/416x416.jpg?background=000000&cropX1=37&cropX2=692&cropY1=192&cropY2=848 31 | 30,30,Wei Jianjun,Wei,wei-jianjun,wei-jianjun,6200,54,automobiles,Automotive,M,//specials-images.forbesimg.com/imageserve/5bcfaebda7ea43705914d9d0/416x416.jpg?background=000000&cropX1=63&cropX2=2720&cropY1=11&cropY2=2667 32 | 31,31,Pang Kang,Pang,pang-kang,no-pic,6000,62,soy sauce maker,Food and Beverage,M, 33 | 32,32,Lin Xiucheng,Lin,lin-xiucheng,lin-xiucheng,5740,63,electronics,Technology,M,http://specials-images.forbesimg.com/imageserve/c6c43100dbae28f161e7055a5e75f340/416x416.jpg?background=000000&cropX1=8&cropX2=591&cropY1=105&cropY2=688 34 | 33,33,Yu Huijiao,Yu,yu-huijiao,yu-huijiao,5720,52,package delivery,Logistics,M,//specials-images.forbesimg.com/imageserve/580933ae31358e238315e67f/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=114&cropY2=858 35 | 34,34,Jason Jiang,Jiang,jason-jiang,jason-jiang,5700,46,advertising,Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/5bcf9f71a7ea43705914d7c1/416x416.jpg?background=000000&cropX1=850&cropX2=3508&cropY1=396&cropY2=3056 36 | 35,34,Ma Jianrong,Ma,ma-jianrong,ma-jianrong,5700,55,"textiles, apparel",Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/a29c1d54f1f5f3072870b551d2745704/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=37&cropY2=778 37 | 36,36,Chan Laiwa,Chan,chan-laiwa,chan-laiwa,5650,78,real estate,Real Estate,F,//specials-images.forbesimg.com/imageserve/5bcf99d04bbe6f78bda59e2d/416x416.jpg?background=000000&cropX1=8&cropX2=1139&cropY1=32&cropY2=1164 38 | 37,36,Nie Tengyun,Nie,nie-tengyun,no-pic,5650,42,logistics,Service,M,//specials-images.forbesimg.com/imageserve/5bcf9de331358e5b433448f1/416x416.jpg?background=000000&cropX1=301&cropX2=1853&cropY1=9&cropY2=1562 39 | 38,36,Zhang Jindong,Zhang,zhang-jindong,zhang-jindong,5650,55,appliance retailer,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5bcf970d4bbe6f78bda59dcc/416x416.jpg?background=000000&cropX1=413&cropX2=2389&cropY1=0&cropY2=1978 40 | 39,39,Wang Chuanfu,Wang,wang-chuanfu,wang-chuanfu,5600,52,"batteries, automobiles",Automotive,M,//specials-images.forbesimg.com/imageserve/5bcfa1b0a7ea43705914d812/416x416.jpg?background=000000&cropX1=793&cropX2=3695&cropY1=0&cropY2=2902 41 | 40,40,Yu Yong,Yu,yu-yong,no-pic,5400,57,mining,Finance and Investments,M, 42 | 41,41,Lu Zhiqiang,Lu,lu-zhiqiang,lu-zhiqiang,5200,66,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5bcfb67d31358e5b43344ba8/416x416.jpg?background=000000&cropX1=672&cropX2=3286&cropY1=0&cropY2=2612 43 | 42,41,Yao Liangsong,Yao,yao-liangsong,no-pic,5200,54,furniture,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a0b22bda7ea436b47b559f2/416x416.jpg?background=000000&cropX1=896&cropX2=2137&cropY1=260&cropY2=1501 44 | 43,43,Xu Chuanhua,Xu,xu-chuanhua,no-pic,5100,84,"chemicals, logistics",Manufacturing,M, 45 | 44,44,Zhang Bangxin,Zhang,zhang-bangxin,no-pic,5000,39,after-school tutoring,Service,M,//specials-images.forbesimg.com/imageserve/5bcfa04fa7ea43705914d7d9/416x416.jpg?background=000000&cropX1=0&cropX2=1324&cropY1=31&cropY2=1356 46 | 45,45,Fu Liquan,Fu,fu-liquan,no-pic,4900,51,surveillance equipment,Technology,M,//specials-images.forbesimg.com/imageserve/5a7cb12931358e4955acf6aa/416x416.jpg?background=000000&cropX1=5&cropX2=2500&cropY1=621&cropY2=3117 47 | 46,46,Liu Yonghao,Liu,liu-yonghao,liu-yonghao,4850,67,agribusiness,Service,M,//specials-images.forbesimg.com/imageserve/5bcface631358e5b43344b13/416x416.jpg?background=000000&cropX1=1631&cropX2=4232&cropY1=191&cropY2=2789 48 | 47,47,Zhang Shiping,Zhang,zhang-shiping,zhang-shiping,4800,71,aluminum products,Metals & Mining,M,//specials-images.forbesimg.com/imageserve/5bcf9b7031358e5b433448aa/416x416.jpg?background=000000&cropX1=13&cropX2=3280&cropY1=13&cropY2=3283 49 | 48,48,Jiang Bin,Jiang,jiang-bin,jiang-bin,4700,52,acoustic components,Technology,M,http://specials-images.forbesimg.com/imageserve/33882d7aaf458263cb07411d98863327/416x416.jpg?background=000000&cropX1=151&cropX2=644&cropY1=37&cropY2=530 50 | 49,49,Chu Mang Yee,Chu,chu-mang-yee,chu-mang-yee,4450,59,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/33f3416ee4f4e17cb8ea4cf680b1179c/416x416.jpg?background=000000&cropX1=0&cropX2=688&cropY1=3&cropY2=691 51 | 50,50,Kei Hoi Pang,Kei,kei-hoi-pang,kei-hoi-pang,4400,53,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/1fa4a144289692d99fbce365c9d33f87/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=3&cropY2=744 52 | 51,51,Che Jianxing,Che,che-jianxing,che-jianxing,4300,52,furniture retailing,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5bcf9ff94bbe6f78bda59ecb/416x416.jpg?background=000000&cropX1=637&cropX2=1963&cropY1=16&cropY2=1342 53 | 52,51,Jiang Weiping,Jiang,jiang-weiping,jiang-weiping,4300,63,chemicals,Manufacturing,M,//specials-images.forbesimg.com/imageserve/562e57f2e4b0ffa7afe645f1/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=113&cropY2=854 54 | 53,51,Li Gaiteng,Li,li-gaiteng,no-pic,4300,46,hair dryers,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a904c9d4bbe6f0fa8265ebe/416x416.jpg?background=000000&cropX1=26&cropX2=321&cropY1=38&cropY2=333 55 | 54,54,Liang Wengen,Liang,liang-wengen,liang-wengen,4200,62,construction equipment,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5bcfb22331358e5b43344b70/416x416.jpg?background=000000&cropX1=333&cropX2=3784&cropY1=7&cropY2=3456 56 | 55,55,Ji Changqun,Ji,ji-changqun-1,no-pic,4150,51,real estate,Real Estate,M, 57 | 56,56,Zhou Jianping,Zhou,zhou-jianping,zhou-jianping,4140,58,fashion retail,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7d28f24bbe6f2652f512b4/416x416.jpg?background=000000&cropX1=0&cropX2=677&cropY1=39&cropY2=716 58 | 57,57,Cai Kui,Cai,cai-kui,cai-kui,4100,56,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/561fbcbde4b0ffa7afe5e581/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=0&cropY2=744 59 | 58,57,Wang Yusuo,Wang,wang-yusuo,wang-yusuo,4100,54,natural gas distribution,Energy,M,//specials-images.forbesimg.com/imageserve/5bcfa0c331358e5b43344915/416x416.jpg?background=000000&cropX1=681&cropX2=3615&cropY1=13&cropY2=2945 60 | 59,59,Wang Xing,Wang,wang-xing,wang-xing,4050,45,e-commerce,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf9ab74bbe6f78bda59e61/416x416.jpg?background=000000&cropX1=331&cropX2=859&cropY1=244&cropY2=772 61 | 60,60,Ye Chenghai,Ye,ye-chenghai,ye-chenghai,4000,75,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/f4143f928bec51caf481ad44beb7d878/416x416.jpg?background=000000&cropX1=0&cropX2=742&cropY1=180&cropY2=923 62 | 61,60,Zhang Yiming,Zhang,zhang-yiming,no-pic,4000,35,software,Technology,M,//specials-images.forbesimg.com/imageserve/5bcf95eb4bbe6f78bda59d93/416x416.jpg?background=000000&cropX1=1292&cropX2=4301&cropY1=738&cropY2=3744 63 | 62,62,Ke Zunhong,Ke,ke-zunhong,no-pic,3980,64,pharmaceuticals,Healthcare,M,http://specials-images.forbesimg.com/imageserve/5809454531358e238315e7e0/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=174&cropY2=918 64 | 63,63,Fang Wei,Fang,fang-wei,no-pic,3900,45,steel,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5bcfac644bbe6f78bda5a08f/416x416.jpg?background=000000&cropX1=49&cropX2=3382&cropY1=119&cropY2=3455 65 | 64,64,Jiang Rensheng,Jiang,jiang-rensheng,jiang-rensheng,3850,65,vaccine production,Healthcare,M,//specials-images.forbesimg.com/imageserve/3bd114f40e9f923fc68db540a5f793e5/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=32&cropY2=775 66 | 65,65,Cao Longxiang,Cao,cao-longxiang,no-pic,3820,61,pharmaceuticals,Healthcare,M,http://specials-images.forbesimg.com/imageserve/56c68eb1e4b062f6b59a1458/416x416.jpg?background=000000&cropX1=159&cropX2=634&cropY1=305&cropY2=780 67 | 66,66,Liang Xinjun,Liang,liang-xinjun,liang-xinjun,3800,51,conglomerate,Diversified,M,//specials-images.forbesimg.com/imageserve/5a7cd21ca7ea431690130abd/416x416.jpg?background=000000&cropX1=609&cropX2=3589&cropY1=287&cropY2=3264 68 | 67,67,Liu Zhongtian,Liu,liu-zhongtian,liu-zhongtian,3750,54,aluminum products,Manufacturing,M,//specials-images.forbesimg.com/imageserve/43033461aba1cde3e199b2a19b895c5c/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=126&cropY2=870 69 | 68,68,Zhao Tao,Zhao,zhao-tao,zhao-tao,3740,53,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a80f59c4bbe6f2652f543c3/416x416.jpg?background=000000&cropX1=315&cropX2=2923&cropY1=563&cropY2=3172 70 | 69,69,Gao Tianguo,Gao,gao-tianguo,no-pic,3700,67,"real estate, finance",Real Estate,M, 71 | 70,69,Zhang Xin,Zhang,zhang-xin,zhang-xin,3700,53,real estate,Real Estate,F,//specials-images.forbesimg.com/imageserve/5bcfb90aa7ea43705914da5a/416x416.jpg?background=000000&cropX1=1617&cropX2=3440&cropY1=640&cropY2=2462 72 | 71,71,Huang Rulun,Huang,huang-rulun,huang-rulun,3650,67,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5d24e1fe2ea1ddd9a7543aacb08daff5/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=3&cropY2=747 73 | 72,71,Li Wa,Li,li-wa,li-wa,3650,53,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/1d225270d1a088f84333d4b2d0d6932a/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=190&cropY2=934 74 | 73,73,Chen Dongsheng,Chen,chen-dongsheng,no-pic,3600,61,insurance,Finance and Investments,M,//specials-images.forbesimg.com/imageserve/5bcfa21f31358e5b43344962/416x416.jpg?background=000000&cropX1=0&cropX2=3856&cropY1=262&cropY2=4121 75 | 74,73,Sun Guangxin,Sun,sun-guangxin,sun-guangxin,3600,56,diversified,Diversified,M,//specials-images.forbesimg.com/imageserve/5bcfcc6ea7ea43705914dba1/416x416.jpg?background=000000&cropX1=852&cropX2=4112&cropY1=21&cropY2=3280 76 | 75,73,Zhang Jin,Zhang,zhang-jin,no-pic,3600,47,diversified,Diversified,M, 77 | 76,76,Lu Xiangyang,Lu,lu-xiangyang,lu-xiangyang,3500,56,"automobiles, batteries",Automotive,M,//specials-images.forbesimg.com/imageserve/56c67d68e4b062f6b59a141e/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=168&cropY2=911 78 | 77,76,Zhang Fan,Zhang,zhang-fan,no-pic,3500,53,touch screens,Technology,M, 79 | 78,78,Xu Jingren,Xu,xu-jingren,xu-jingren,3450,74,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a05ffc4a7ea436b47b53402/416x416.jpg?background=000000&cropX1=450&cropX2=3283&cropY1=0&cropY2=2832 80 | 79,79,He Qiaonv,He,he-qiaonv,he-qiaonv,3400,52,landscape architecture,Service,F,//specials-images.forbesimg.com/imageserve/589cfcd8a7ea431f32192891/416x416.jpg?background=000000&cropX1=92&cropX2=744&cropY1=147&cropY2=800 81 | 80,79,Ma Xiuhui,Ma,ma-xiuhui,ma-xiuhui,3400,48,LED lighting,Manufacturing,F,//specials-images.forbesimg.com/imageserve/5a0b26d3a7ea436b47b55a42/416x416.jpg?background=000000&cropX1=123&cropX2=2403&cropY1=105&cropY2=2386 82 | 81,81,Li Shuirong,Li,li-shuirong,li-shuirong,3380,62,petrochemicals,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7ccb71a7ea4316901309e5/416x416.jpg?background=000000&cropX1=271&cropX2=2191&cropY1=3&cropY2=1925 83 | 82,82,Shi Yuzhu,Shi,shi-yuzhu,shi-yuzhu,3350,56,"online games, investments",Diversified,M,//specials-images.forbesimg.com/imageserve/5a7cecbb4bbe6f2652f51076/416x416.jpg?background=000000&cropX1=391&cropX2=2589&cropY1=9&cropY2=2206 84 | 83,83,Qiu Guanghe,Qiu,qiu-guanghe,qiu-guanghe,3300,67,fashion retail,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5bcfae7b31358e5b43344b26/416x416.jpg?background=000000&cropX1=256&cropX2=1423&cropY1=0&cropY2=1166 85 | 84,83,Wang Jian,Wang,wang-jian-1,wang-jian-1,3300,65,healthcare services,Technology,M,//specials-images.forbesimg.com/imageserve/5a875bad31358e4955ada843/416x416.jpg?background=000000&cropX1=5&cropX2=1193&cropY1=271&cropY2=1459 86 | 85,83,Zhang Li,Zhang,zhang-li,zhang-li,3300,66,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589f297d31358e1a35ab26d9/416x416.jpg?background=000000&cropX1=85&cropX2=739&cropY1=3&cropY2=657 87 | 86,86,Lai Meisong,Lai,lai-meisong,no-pic,3250,48,package delivery,Logistics,M,//specials-images.forbesimg.com/imageserve/58c33d4131358e1a35acccef/416x416.jpg?background=000000&cropX1=47&cropX2=744&cropY1=201&cropY2=899 88 | 87,87,Ji Qi,Ji,ji-qi,no-pic,3200,52,"hotels, motels",Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7ce58d4bbe6f2652f50fbb/416x416.jpg?background=000000&cropX1=666&cropX2=3004&cropY1=0&cropY2=2336 89 | 88,87,Frank Wang,Wang,frank-wang,frank-wang,3200,38,drones,Technology,M,http://specials-images.forbesimg.com/imageserve/57a3950331358e4fd70bee4d/416x416.jpg?background=000000&cropX1=50&cropX2=631&cropY1=35&cropY2=617 90 | 89,89,Qin Yinglin,Qin,qin-yinglin,qin-yinglin,3150,53,pig breeding,Food and Beverage,M,//specials-images.forbesimg.com/imageserve/a3722ff48b63420aa857d7c876d5c521/416x416.jpg?background=000000&cropX1=5&cropX2=744&cropY1=6&cropY2=746 91 | 90,90,Chen Fashu,Chen,chen-fashu,chen-fashu,3100,58,investments,Finance and Investments,M,//specials-images.forbesimg.com/imageserve/9c4a0c1973e27328429243fc03202ab6/416x416.jpg?background=000000&cropX1=144&cropX2=839&cropY1=103&cropY2=798 92 | 91,90,Ma Xingtian,Ma,ma-xingtian,ma-xingtian,3100,49,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/53248972c5824d9bcf7c7db5aecfbf2d/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=3&cropY2=747 93 | 92,92,Ren Jianhua,Ren,ren-jianhua,ren-jianhua,3050,62,kitchen appliances,Manufacturing,M,//specials-images.forbesimg.com/imageserve/562a5a9ee4b0ffa7afe63015/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=84&cropY2=827 94 | 93,93,Chen Bang,Chen,chen-bang,chen-bang,3030,53,hospitals,Healthcare,M,//specials-images.forbesimg.com/imageserve/2b6a0c7bcd0e173f3b342365e3667d14/416x416.jpg?background=000000&cropX1=27&cropX2=705&cropY1=63&cropY2=741 95 | 94,94,Wang Laichun,Wang,wang-laichun,no-pic-female,3000,51,electronics components,Technology,F,//specials-images.forbesimg.com/imageserve/5a061b9131358e542c051d82/416x416.jpg?background=000000&cropX1=74&cropX2=842&cropY1=25&cropY2=794 96 | 95,94,Wang Laisheng,Wang,wang-laisheng,no-pic,3000,54,electronics components,Technology,M, 97 | 96,94,Simon Xie,Xie,simon-xie,simon-xie,3000,49,online payment service,Technology,M,//specials-images.forbesimg.com/imageserve/eb0f2e7c5736b370425f7365da5bacad/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=76&cropY2=820 98 | 97,97,Ding Shizhong,Ding,ding-shizhong,ding-shizhong,2900,48,sports apparel,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5bcfccd831358e5b43344c7d/416x416.jpg?background=000000&cropX1=322&cropX2=845&cropY1=150&cropY2=673 99 | 98,98,Ding Shijia,Ding,ding-shijia,no-pic,2800,55,sportswear,Fashion & Retail,M, 100 | 99,98,Huang Shih Tsai,Huang,huang-shih-tsai,huang-shih-tsai,2800,67,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/ea3db0dc53d296877dc4d8565c7627ef/416x416.jpg?background=000000&cropX1=0&cropX2=600&cropY1=93&cropY2=693 101 | 100,98,Song Zuowen,Song,song-zuowen,song-zuowen,2800,71,"aluminum, diversified",Diversified,M,//specials-images.forbesimg.com/imageserve/75720eea78ab6bb082b46a10cf4bce3a/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=3&cropY2=744 102 | 101,101,Zuo Hui,Zuo,zuo-hui,no-pic,2750,48,real estate services,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7d2a69a7ea431690130f2b/416x416.jpg?background=000000&cropX1=1155&cropX2=3526&cropY1=359&cropY2=2729 103 | 102,102,Du Jiangtao,Du,du-jiangtao,du-jiangtao,2700,49,chemicals,Manufacturing,M,//specials-images.forbesimg.com/imageserve/562029ede4b0ffa7afe5eb62/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=58&cropY2=802 104 | 103,103,Jacky Xu,Xu,jacky-xu,no-pic,2690,47,apparel,Fashion & Retail,M, 105 | 104,103,Xu Xudong,Xu,xu-xudong,no-pic,2690,48,auto parts,Automotive,M, 106 | 105,105,Huang Wei,Huang,huang-wei,no-pic,2670,59,real estate,Real Estate,M, 107 | 106,106,Feng Hailiang,Feng,feng-hailiang,feng-hailiang,2600,58,"copper, education",Metals & Mining,M,//specials-images.forbesimg.com/imageserve/5bcfb86d31358e5b43344bc9/416x416.jpg?background=000000&cropX1=148&cropX2=845&cropY1=5&cropY2=702 108 | 107,106,Li Li,Li,li-li-2,li-li-2,2600,54,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/69dcd58a6e2fc405ce93ec3eeb8e051a/416x416.jpg?background=000000&cropX1=21&cropX2=731&cropY1=55&cropY2=766 109 | 108,106,Zhang Wenzhong,Zhang,zhang-wenzhong,no-pic,2600,57,Retail,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7d249b4bbe6f2652f51279/416x416.jpg?background=000000&cropX1=0&cropX2=1146&cropY1=89&cropY2=1235 110 | 109,109,Chen Jianhua,Chen,chen-jianhua,chen-jianhua,2590,48,chemicals,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7c84c34bbe6f2652f500c1/416x416.jpg?background=000000&cropX1=456&cropX2=3051&cropY1=6&cropY2=2598 111 | 110,109,Ni Zugen,Ni,ni-zugen,no-pic,2590,61,appliances,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a9725ac4bbe6f0fa826ee2b/416x416.jpg?background=000000&cropX1=54&cropX2=1245&cropY1=217&cropY2=1408 112 | 111,111,Sze Man Bok,Sze,sze-man-bok,sze-man-bok,2580,69,hygiene products,Manufacturing,M,//specials-images.forbesimg.com/imageserve/c3653c28ec41a0342432ee78a9d95c46/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=6&cropY2=747 113 | 112,112,Hui Lin Chit,Hui,hui-lin-chit,hui-lin-chit,2570,65,hygiene products,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7cbadc31358e4955acf7c0/416x416.jpg?background=000000&cropX1=632&cropX2=3041&cropY1=5&cropY2=2412 114 | 113,113,Shen Wenrong,Shen,shen-wenrong,shen-wenrong,2530,72,steel production,Metals & Mining,M,//specials-images.forbesimg.com/imageserve/5a7cec5ba7ea431690130cd9/416x416.jpg?background=000000&cropX1=14&cropX2=2681&cropY1=542&cropY2=3207 115 | 114,114,Lin Zhong,Lin,lin-zhong,no-pic,2520,50,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589d2201a7ea431f321929d4/416x416.jpg?background=000000&cropX1=159&cropX2=602&cropY1=89&cropY2=532 116 | 115,115,Xu Bo,Xu,xu-bo,no-pic,2500,41,mobile games,Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/59fb37f24bbe6f37dda19944/416x416.jpg?background=000000&cropX1=119&cropX2=741&cropY1=79&cropY2=701 117 | 116,116,Cho Tak Wong,Cho,cho-tak-wong,cho-tak-wong,2490,72,auto parts,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7e6847a7ea431690132502/416x416.jpg?background=000000&cropX1=339&cropX2=1769&cropY1=0&cropY2=1429 118 | 117,117,Yu Minhong,Yu,yu-minhong,yu-minhong,2440,57,education,Service,M,//specials-images.forbesimg.com/imageserve/5a7d1c54a7ea431690130e7f/416x416.jpg?background=000000&cropX1=681&cropX2=2599&cropY1=170&cropY2=2087 119 | 118,118,Wu Lanlan,Wu,wu-lanlan,no-pic-female,2420,45,packaging,Manufacturing,F, 120 | 119,119,Lei Jufang,Lei,lei-jufang,lei-jufang,2410,66,pharmaceuticals,Healthcare,F,//specials-images.forbesimg.com/imageserve/178c9756ea81a7e86d7fb10dd7be09b9/416x416.jpg?background=000000&cropX1=35&cropX2=719&cropY1=42&cropY2=727 121 | 120,120,Lam Kong,Lam,lam-kong,lam-kong,2390,54,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/18557d61bfcbfb0783aebace2f7f4d6b/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=3&cropY2=744 122 | 121,121,Wu Jianshu,Wu,wu-jianshu,no-pic,2380,55,auto parts,Automotive,M, 123 | 122,122,Chu Lam Yiu,Chu,chu-lam-yiu,chu-lam-yiu,2370,49,flavorings,Manufacturing,F,//specials-images.forbesimg.com/imageserve/913c271ffb6af89c53465bf2b73b8992/416x416.jpg?background=000000&cropX1=34&cropX2=623&cropY1=0&cropY2=590 124 | 123,122,Qiu Jianping,Qiu,qiu-jianping,qiu-jianping,2370,56,hand tools,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7ce9e3a7ea431690130cc5/416x416.jpg?background=000000&cropX1=730&cropX2=3332&cropY1=231&cropY2=2832 125 | 124,122,Zhu Xingliang,Zhu,zhu-xingliang,zhu-xingliang,2370,59,construction,Construction & Engineering,M,//specials-images.forbesimg.com/imageserve/f893b3ba5dfb8226119a6f70602a1477/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=121&cropY2=865 126 | 125,125,Xiao Wenge,Xiao,xiao-wenge,xiao-wenge,2360,52,entertainment,Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/b503b236a2b585fd51be8e054fcf03b3/416x416.jpg?background=000000&cropX1=127&cropX2=739&cropY1=124&cropY2=736 127 | 126,126,Qi Shi,Qi,qi-shi,qi-shi,2330,49,financial information,Technology,M,//specials-images.forbesimg.com/imageserve/57a3b4d7a7ea4337c2cef3c2/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=5&cropY2=746 128 | 127,126,Zhu Gongshan,Zhu,zhu-gongshan,zhu-gongshan,2330,61,solar panel materials,Manufacturing,M,//specials-images.forbesimg.com/imageserve/6f98bef92dfa940abaa376847526947c/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=66&cropY2=810 129 | 128,128,Gu Yuhua,Gu,gu-yuhua,no-pic,2320,69,furniture,Manufacturing,M, 130 | 129,128,Xiong Xuqiang,Xiong,xiong-xuqiang,xiong-xuqiang,2320,62,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/6ce9fb50a8c04c7a7738cc48510c1582/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=208&cropY2=952 131 | 130,128,Xue Xiangdong,Xue,xue-xiangdong,xue-xiangdong,2320,59,software,Technology,M,//specials-images.forbesimg.com/imageserve/5a7d1709a7ea431690130e31/416x416.jpg?background=000000&cropX1=645&cropX2=2738&cropY1=475&cropY2=2570 132 | 131,131,Xiao Yongming,Xiao,xiao-yongming,no-pic,2310,54,fertilizer,Diversified,M, 133 | 132,132,Chen Qingzhou,Chen,chen-qingzhou,no-pic,2300,53,communications equipment,Telecom,M, 134 | 133,132,Cheung Yan,Cheung,cheung-yan,cheung-yan,2300,61,paper manufacturing,Manufacturing,F,//specials-images.forbesimg.com/imageserve/5a7d1825a7ea431690130e64/416x416.jpg?background=000000&cropX1=629&cropX2=3286&cropY1=11&cropY2=2667 135 | 134,132,Shen Yuxing,Shen,shen-yuxing,no-pic,2300,60,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5bcfaddaa7ea43705914d9c5/416x416.jpg?background=000000&cropX1=2&cropX2=337&cropY1=56&cropY2=391 136 | 135,135,Chen Jinxia,Chen,chen-jinxia,no-pic-female,2290,50,investments,Finance and Investments,F, 137 | 136,136,Chen Hua,Chen,chen-hua-1,chen-hua-1,2280,53,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7bc51831358e4955ace3a9/416x416.jpg?background=000000&cropX1=6&cropX2=2735&cropY1=955&cropY2=3686 138 | 137,137,Lv Li,Lv,lv-li,no-pic-female,2270,42,Electronics,Technology,F, 139 | 138,138,Tong Jinquan,Tong,tong-jinquan,no-pic,2250,64,real estate,Real Estate,M, 140 | 139,139,Wu Zhigang,Wu,wu-zhigang,no-pic,2240,84,bakery chain,Food and Beverage,M, 141 | 140,140,Wang Yanqing,Wang,wang-yanqing,no-pic,2230,52,electrical equipment,Manufacturing,M, 142 | 141,141,Ren Zhengfei,Ren,ren-zhengfei,ren-zhengfei,2180,75,telecom equipment,Telecom,M,//specials-images.forbesimg.com/imageserve/5bcfc85f4bbe6f78bda5a21a/416x416.jpg?background=000000&cropX1=0&cropX2=1997&cropY1=129&cropY2=2126 143 | 142,142,Lin Li,Lin,lin-li,no-pic,2170,55,investments,Finance and Investments,M,//specials-images.forbesimg.com/imageserve/58c338ac4bbe6f0e55885d28/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=118&cropY2=862 144 | 143,143,Li Liangbin,Li,li-liangbin,no-pic,2160,51,lithium,Manufacturing,M, 145 | 144,144,Shen Guojun,Shen,shen-guojun,shen-guojun,2130,56,retail,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7cec0b31358e4955acfc0e/416x416.jpg?background=000000&cropX1=484&cropX2=1908&cropY1=142&cropY2=1566 146 | 145,145,Li Zhongchu,Li,li-zhongchu,no-pic,2120,55,software,Technology,M, 147 | 146,146,Geng Jianming,Geng,geng-jianming,geng-jianming,2110,56,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/fc83e75cfd66a510511d074e06658adc/416x416.jpg?background=000000&cropX1=0&cropX2=709&cropY1=52&cropY2=761 148 | 147,147,Huang Zhenda,Huang,huang-zhenda,huang-zhenda,2100,71,construction,Construction & Engineering,M,//specials-images.forbesimg.com/imageserve/102108d15afa7dd7e7a7e1fbcda3d866/416x416.jpg?background=000000&cropX1=129&cropX2=694&cropY1=151&cropY2=717 149 | 148,147,Liu Ming Hui,Liu,liu-ming-hui,liu-ming-hui,2100,56,natural gas distribution,Energy,M,//specials-images.forbesimg.com/imageserve/5a7cda0fa7ea431690130b75/416x416.jpg?background=000000&cropX1=1126&cropX2=3692&cropY1=63&cropY2=2627 150 | 149,147,Zhang Xiugen,Zhang,zhang-xiugen,no-pic,2100,58,automobiles,Automotive,M,//specials-images.forbesimg.com/imageserve/589f2ba431358e1a35ab26e5/416x416.jpg?background=000000&cropX1=3&cropX2=689&cropY1=2&cropY2=688 151 | 150,150,Wang Xicheng,Wang,wang-xicheng,no-pic,2070,70,tires,Manufacturing,M, 152 | 151,151,Yuan Yafei,Yuan,yuan-yafei,yuan-yafei,2040,55,"retail, investments",Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7d1d1a4bbe6f2652f5122c/416x416.jpg?background=000000&cropX1=10&cropX2=2400&cropY1=226&cropY2=2617 153 | 152,152,Cai Wensheng,Cai,cai-wensheng,no-pic,2030,49,photo sharing app,Technology,M,//specials-images.forbesimg.com/imageserve/5a7bbf214bbe6f2652f4f48f/416x416.jpg?background=000000&cropX1=1571&cropX2=3988&cropY1=223&cropY2=2639 154 | 153,152,Li Liufa,Li,li-liufa,li-liufa,2030,61,"steel, diversified",Diversified,M,//specials-images.forbesimg.com/imageserve/55d49edee4b0ffa7afe3f846/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=47&cropY2=788 155 | 154,152,Su Suyu,Su,su-suyu,no-pic-female,2030,70,"utilities, real estate",Real Estate,F, 156 | 155,152,Ye Cheng,Ye,ye-cheng,no-pic,2030,57,conglomerate,Diversified,M, 157 | 156,156,Mao Lixiang,Mao,mao-lixiang,no-pic,2000,78,cooking appliances,Technology,M,//specials-images.forbesimg.com/imageserve/5a875b264bbe6f2652f5cbad/416x416.jpg?background=000000&cropX1=0&cropX2=1360&cropY1=110&cropY2=1471 158 | 157,157,Jiang Yehua,Jiang,jiang-yehua,jiang-yehua,1990,56,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589d078d4bbe6f0e55866b49/416x416.jpg?background=000000&cropX1=60&cropX2=562&cropY1=79&cropY2=582 159 | 158,157,Zhu Baoguo,Zhu,zhu-baoguo,zhu-baoguo,1990,56,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/589f386aa7ea431f3219482d/416x416.jpg?background=000000&cropX1=5&cropX2=744&cropY1=18&cropY2=758 160 | 159,159,Cheng Xue,Cheng,cheng-xue,no-pic-female,1960,48,soy sauce,Food and Beverage,F, 161 | 160,159,Zhou Yaoting,Zhou,zhou-yaoting,no-pic,1960,75,"apparel, real estate",Diversified,M, 162 | 161,161,Li Xiting,Li,li-xiting,no-pic,1950,68,medical devices,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a8df8dc31358e4955adffa6/416x416.jpg?background=000000&cropX1=491&cropX2=3171&cropY1=0&cropY2=2677 163 | 162,162,Wang Zhenhua,Wang,wang-zhenhua,no-pic,1940,56,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7d074831358e4955acfcd6/416x416.jpg?background=000000&cropX1=15&cropX2=474&cropY1=136&cropY2=595 164 | 163,163,An Kang,An,an-kang,an-kang,1930,70,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a7bbd8831358e4955ace31a/416x416.jpg?background=000000&cropX1=377&cropX2=2396&cropY1=55&cropY2=2073 165 | 164,163,Wu Liangding,Wu,wu-liangding,no-pic,1930,72,wheel production,Automotive,M, 166 | 165,165,Chen Qixing,Chen,chen-qixing,no-pic,1910,59,electronics components,Technology,M, 167 | 166,166,Huang Hongyun,Huang,huang-hongyun,huang-hongyun,1900,52,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7cb74031358e4955acf786/416x416.jpg?background=000000&cropX1=644&cropX2=3465&cropY1=12&cropY2=2832 168 | 167,166,Ning Tang,Tang,ning-tang,no-pic,1900,45,online lending,Finance and Investments,M, 169 | 168,166,Zheng Yuewen,Zheng,zheng-yuewen,zheng-yuewen,1900,57,investments,Diversified,M,//specials-images.forbesimg.com/imageserve/56c68422e4b062f6b59a143c/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=31&cropY2=774 170 | 169,169,Dong Wei,Dong,dong-wei-2,no-pic,1890,48,pharmaceuticals,Healthcare,M, 171 | 170,169,Hu Kaijun,Hu,hu-kaijun,no-pic,1890,57,pharmaceuticals,Healthcare,M, 172 | 171,169,Miao Shouliang,Miao,miao-shouliang,miao-shouliang,1890,64,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589d2e55a7ea431f32192a5e/416x416.jpg?background=000000&cropX1=29&cropX2=723&cropY1=103&cropY2=798 173 | 172,172,Huang Yi,Huang,huang-yi,no-pic,1870,57,auto distribution,Automotive,M,//specials-images.forbesimg.com/imageserve/601330d5e69781741753b1f2f5975025/416x416.jpg?background=000000&cropX1=52&cropX2=333&cropY1=13&cropY2=294 174 | 173,172,Sun Qinghuan,Sun,sun-qinghuan,no-pic,1870,45,lighting,Technology,M, 175 | 174,172,Zhang Daocai,Zhang,zhang-daocai,no-pic,1870,69,valves,Diversified,M, 176 | 175,175,Wei Shaojun,Wei,wei-shaojun,wei-shaojun,1860,56,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/6831d2c5e08db906f140f99ef0391369/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=40&cropY2=784 177 | 176,176,Wu Guangming,Wu,wu-guangming,wu-guangming,1850,56,medical equipment,Healthcare,M,//specials-images.forbesimg.com/imageserve/88d81f9606a4339ce991b3b4fe569c67/416x416.jpg?background=000000&cropX1=68&cropX2=738&cropY1=93&cropY2=763 178 | 177,177,Chen Dejun,Chen,chen-dejun,no-pic,1840,48,package delivery,Logistics,M,//specials-images.forbesimg.com/imageserve/5a7bc3aaa7ea43169012f455/416x416.jpg?background=000000&cropX1=1668&cropX2=3076&cropY1=179&cropY2=1585 179 | 178,178,Xie Zhikun,Xie,xie-zhikun,no-pic,1830,58,investments,Finance and Investments,M,//specials-images.forbesimg.com/imageserve/58135cee31358e2383163cfc/416x416.jpg?background=000000&cropX1=126&cropX2=677&cropY1=89&cropY2=640 180 | 179,179,Wang Wenjing,Wang,wang-wenjing,wang-wenjing,1820,54,business software,Technology,M,//specials-images.forbesimg.com/imageserve/589de75931358e1a35ab137c/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=44&cropY2=787 181 | 180,179,Wong Luen Hei,Wong,wong-luen-hei,wong-luen-hei,1820,57,building materials,Manufacturing,M,//specials-images.forbesimg.com/imageserve/561fbe7de4b0ffa7afe5e598/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=5&cropY2=749 182 | 181,181,Lin Jianhua,Lin,lin-jianhua,lin-jianhua,1810,56,solar panel components,Manufacturing,M,//specials-images.forbesimg.com/imageserve/56c704e4e4b062f6b59a187d/416x416.jpg?background=000000&cropX1=0&cropX2=742&cropY1=208&cropY2=951 183 | 182,181,Wang Changtian,Wang,wang-changtian,wang-changtian,1810,53,"TV, movie production",Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/5a7cf2ad4bbe6f2652f510b3/416x416.jpg?background=000000&cropX1=3&cropX2=1134&cropY1=6&cropY2=1138 184 | 183,181,Wu Xushun,Wu,wu-xushun,no-pic,1810,70,"internet, auto parts",Diversified,M, 185 | 184,184,Liu Zhiqiang,Liu,liu-zhiqiang,liu-zhiqiang,1800,54,conglomerate,Diversified,M, 186 | 185,184,Ma Hong,Ma,ma-hong,no-pic,1800,51,fashion retail,Fashion & Retail,M, 187 | 186,184,Wong Kwong Yu,Wong,wong-kwong-yu,wong-kwong-yu,1800,49,retail,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7d09b131358e4955acfcf0/416x416.jpg?background=000000&cropX1=9&cropX2=1559&cropY1=33&cropY2=1584 188 | 187,187,Cui Genliang,Cui,cui-genliang,cui-genliang,1790,60,electric components,Manufacturing,M,//specials-images.forbesimg.com/imageserve/589cf15ba7ea431f32192819/416x416.jpg?background=000000&cropX1=13&cropX2=715&cropY1=84&cropY2=787 189 | 188,187,Ke Xiping,Ke,ke-xiping,ke-xiping,1790,58,investments,Diversified,M,//specials-images.forbesimg.com/imageserve/56292849e4b0ffa7afe6288d/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=6&cropY2=750 190 | 189,187,Wang Qingtao,Wang,wang-qingtao,no-pic,1790,56,steel smelting,Metals & Mining,M,//specials-images.forbesimg.com/imageserve/589de4a6a7ea431f3219329f/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=126&cropY2=870 191 | 190,190,Li Ge,Li,li-ge-1,no-pic,1780,52,biotech,Healthcare,M,//specials-images.forbesimg.com/imageserve/5bcfb28831358e5b43344b98/416x416.jpg?background=000000&cropX1=212&cropX2=1781&cropY1=502&cropY2=2073 192 | 191,190,Yi Zheng,Yi,yi-zheng,no-pic,1780,48,software,Technology,M, 193 | 192,192,Su Weizhong,Su,su-weizhong,no-pic,1770,50,"oil, fertilizers",Energy,M, 194 | 193,193,Dou Zhenggang,Dou,dou-zhenggang,no-pic,1760,65,"energy, chemicals",Diversified,M, 195 | 194,193,Li Hongxin,Li,li-hongxin,no-pic,1760,65,paper & related products,Manufacturing,M,//specials-images.forbesimg.com/imageserve/bcf772256ab66402949eef9d69e6e20f/416x416.jpg?background=000000&cropX1=2&cropX2=600&cropY1=0&cropY2=598 196 | 195,193,Li San Yim,Li,li-san-yim,li-san-yim,1760,69,construction equipment,Manufacturing,M,//specials-images.forbesimg.com/imageserve/97b447d9341c0dc4243090e2375556f3/416x416.jpg?background=000000&cropX1=8&cropX2=617&cropY1=10&cropY2=619 197 | 196,196,Wang Jianfeng,Wang,wang-jianfeng,no-pic,1740,49,auto parts,Automotive,M, 198 | 197,196,Wang Qunbin,Wang,wang-qunbin,no-pic,1740,49,conglomerate,Diversified,M,//specials-images.forbesimg.com/imageserve/5a7cf9434bbe6f2652f510e6/416x416.jpg?background=000000&cropX1=1931&cropX2=3868&cropY1=662&cropY2=2598 199 | 198,196,Zhang Xuansong,Zhang,zhang-xuansong,zhang-xuansong,1740,47,supermarket,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a875e204bbe6f2652f5cc36/416x416.jpg?background=000000&cropX1=115&cropX2=1725&cropY1=348&cropY2=1960 200 | 199,199,Liu Hanyuan,Liu,liu-hanyuan,no-pic,1730,55,agribusiness,Food and Beverage,M,//specials-images.forbesimg.com/imageserve/589d23b131358e1a35ab0b56/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=90&cropY2=831 201 | 200,199,Yang Erzhu,Yang,yang-erzhu,no-pic,1730,68,real estate,Real Estate,M, 202 | 201,201,Zhou Xiaoguang,Zhou,zhou-xiaoguang,zhou-xiaoguang,1720,57,real estate,Real Estate,F,//specials-images.forbesimg.com/imageserve/f3003f57a1ce583755a240f1d66540ee/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=85&cropY2=826 203 | 202,202,Chen Xiaoying,Chen,chen-xiaoying,no-pic-female,1700,42,package delivery,Logistics,F, 204 | 203,202,Chen Xueli,Chen,chen-xueli,no-pic,1700,67,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a7c85daa7ea43169013019b/416x416.jpg?background=000000&cropX1=527&cropX2=2418&cropY1=8&cropY2=1897 205 | 204,202,Kong Jian Min,Kong,kong-jian-min,kong-jian-min,1700,51,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/58a658d831358e1a35ab8d3a/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=10&cropY2=754 206 | 205,205,Chen Feng,Chen,chen-feng-1,no-pic,1690,65,conglomerate,Diversified,M, 207 | 206,205,Du Weimin,Du,du-weimin,no-pic,1690,55,vaccines,Healthcare,M, 208 | 207,205,Wang Jian,Wang,wang-jian-3,no-pic,1690,57,conglomerate,Diversified,M, 209 | 208,205,Wu Yulan,Wu,wu-yulan,no-pic-female,1690,49,pharmaceuticals,Healthcare,F, 210 | 209,209,Liang Yunchao,Liang,liang-yunchao,liang-yunchao,1680,50,nutrition supplements,Food and Beverage,M,//specials-images.forbesimg.com/imageserve/05045a69750222dbe55bce25e523ad1c/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=224&cropY2=965 211 | 210,210,Chen Zhuolin,Chen,chen-zhuolin,chen-zhuolin,1670,56,real estate,Real Estate,M, 212 | 211,211,Yuan Fugen,Yuan,yuan-fugen,no-pic,1660,68,metal processing,Manufacturing,M, 213 | 212,212,Li Yong,Li,li-yong-1,no-pic,1650,41,chemicals,Manufacturing,M, 214 | 213,212,Xu Hang,Xu,xu-hang,no-pic,1650,52,medical devices,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a8dfac04bbe6f2652f62cb1/416x416.jpg?background=000000&cropX1=727&cropX2=3713&cropY1=0&cropY2=2984 215 | 214,212,Yang Meirong,Yang,yang-meirong,no-pic-female,1650,,education,Service,F, 216 | 215,212,Zhao Yan,Zhao,zhao-yan,no-pic-female,1650,52,"real estate, finance",Diversified,F, 217 | 216,216,Jiang Yintai,Jiang,jiang-yintai,no-pic,1640,68,auto parts,Automotive,M, 218 | 217,216,Pan Weiming,Pan,pan-weiming,pan-weiming,1640,55,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/56c7548ee4b062f6b59a1c94/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=5&cropY2=748 219 | 218,218,Lam Lung On,Lam,lam-lung-on,no-pic,1630,54,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589d0b2c31358e1a35ab0acb/416x416.jpg?background=000000&cropX1=21&cropX2=715&cropY1=56&cropY2=751 220 | 219,218,William Li,Li,william-li,no-pic,1630,44,automobiles,Automotive,M,//specials-images.forbesimg.com/imageserve/5a86c00e31358e4955ad9b06/416x416.jpg?background=000000&cropX1=446&cropX2=2439&cropY1=9&cropY2=2000 221 | 220,218,Liu Baolin,Liu,liu-baolin,liu-baolin,1630,65,pharmacies,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/0cbb1af7d866aae7ae316d58d6f367e8/416x416.jpg?background=000000&cropX1=81&cropX2=741&cropY1=5&cropY2=666 222 | 221,218,Zhou Chengjian,Zhou,zhou-chengjian,zhou-chengjian,1630,53,fashion retail,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7d285331358e4955acfe2b/416x416.jpg?background=000000&cropX1=1821&cropX2=5472&cropY1=0&cropY2=3648 223 | 222,222,He Ningning,He,he-ningning,no-pic,1620,48,manufacturing,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7cb3fd31358e4955acf720/416x416.jpg?background=000000&cropX1=0&cropX2=339&cropY1=46&cropY2=385 224 | 223,222,Huang Chulong,Huang,huang-chulong,huang-chulong,1620,60,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7bac5a4bbe6f2652f4f33d/416x416.jpg?background=000000&cropX1=9&cropX2=1944&cropY1=139&cropY2=2073 225 | 224,222,Zhang Wanzhen,Zhang,zhang-wanzhen,no-pic,1620,69,electronic components,Manufacturing,M, 226 | 225,225,Chi Yufeng,Chi,chi-yufeng,no-pic,1610,48,software,Technology,M,//specials-images.forbesimg.com/imageserve/5a7c866da7ea4316901301c5/416x416.jpg?background=000000&cropX1=2189&cropX2=5760&cropY1=247&cropY2=3816 227 | 226,225,Sun Shoukuan,Sun,sun-shoukuan,sun-shoukuan,1610,69,metals. coal,Manufacturing,M,//specials-images.forbesimg.com/imageserve/64f4574ad7b5505ab16f5d497d87e711/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=5&cropY2=746 228 | 227,227,Li Weiwei,Li,li-weiwei,no-pic,1600,42,online games,Technology,M, 229 | 228,227,Wang Chaobin,Wang,wang-chaobin,wang-chaobin,1600,63,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/562e5709e4b0ffa7afe645de/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=103&cropY2=846 230 | 229,229,Chan Hung To,Chan,chan-hung-to,no-pic,1590,,beverages,Food and Beverage,M, 231 | 230,229,Huo Qinghua,Huo,huo-qinghua,no-pic,1590,57,coal,Energy,M, 232 | 231,229,Jiang Wei,Jiang,jiang-wei,jiang-wei,1590,57,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/f9d6a064550c4c3c3bda90dae6c1efe2/416x416.jpg?background=000000&cropX1=39&cropX2=744&cropY1=32&cropY2=738 233 | 232,232,Che Fengsheng,Che,che-fengsheng,che-fengsheng,1570,56,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/871285167e7dcc8b92191ae50f6c442b/416x416.jpg?background=000000&cropX1=27&cropX2=695&cropY1=0&cropY2=669 234 | 233,232,Cheng Xianfeng,Cheng,cheng-xianfeng,no-pic,1570,50,pharmaceuticals,Healthcare,M, 235 | 234,232,Tse Ping,Tse,tse-ping,tse-ping,1570,67,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5bcfb7584bbe6f78bda5a116/416x416.jpg?background=000000&cropX1=609&cropX2=3747&cropY1=0&cropY2=3136 236 | 235,235,Wang Muqing,Wang,wang-muqing,no-pic,1560,68,auto distribution,Automotive,M, 237 | 236,235,Zhang Guiping,Zhang,zhang-guiping,zhang-guiping,1560,67,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/beb773dd7c933c68e881a0d5b72f89ae/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=3&cropY2=744 238 | 237,235,Zhu Wenchen,Zhu,zhu-wenchen,zhu-wenchen,1560,53,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/2ab35b49b2ece993fb88ee046c098dea/416x416.jpg?background=000000&cropX1=42&cropX2=744&cropY1=44&cropY2=747 239 | 238,238,Chen Tianqiao,Chen,chen-tianqiao,chen-tianqiao,1550,45,online games,Technology,M, 240 | 239,238,Qi Jinxing,Qi,qi-jinxing,qi-jinxing,1550,56,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7ce86231358e4955acfbed/416x416.jpg?background=000000&cropX1=28&cropX2=3368&cropY1=952&cropY2=4290 241 | 240,238,Zhang Cheng Fei,Zhang,zhang-cheng-fei,no-pic,1550,51,paper & related products,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7d201f31358e4955acfda0/416x416.jpg?background=000000&cropX1=16&cropX2=645&cropY1=127&cropY2=756 242 | 241,241,Hu Baifan,Hu,hu-baifan,hu-baifan,1540,56,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a7cb6284bbe6f2652f508cd/416x416.jpg?background=000000&cropX1=2&cropX2=1125&cropY1=20&cropY2=1144 243 | 242,242,Zhuang Kuilong,Zhuang,zhuang-kuilong,no-pic,1530,56,polyester,Manufacturing,M, 244 | 243,243,Peng Hao,Peng,peng-hao,no-pic,1510,51,electronics,Manufacturing,M, 245 | 244,243,Zeng Kaitian,Zeng,zeng-kaitian,no-pic,1510,44,online games,Technology,M, 246 | 245,245,Hoi Kin Hong,Hoi,hoi-kin-hong,no-pic,1500,66,real estate,Real Estate,M, 247 | 246,245,Huang Qiaoling,Huang,huang-qiaoling,huang-qiaoling,1500,60,amusement parks,Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/56c68b36e4b062f6b59a1448/416x416.jpg?background=000000&cropX1=0&cropX2=731&cropY1=124&cropY2=856 248 | 247,245,Li Yihai,Li,li-yihai,no-pic,1500,56,pharmaceuticals,Healthcare,M, 249 | 248,245,Shuai Fangwen,Shuai,shuai-fangwen,no-pic,1500,52,pharmaceuticals,Healthcare,M, 250 | 249,245,Xu Qiming,Xu,xu-qiming,xu-qiming,1500,55,"food, art",Diversified,M,//specials-images.forbesimg.com/imageserve/363e7bc321591a10e36706087ef904de/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=348&cropY2=1091 251 | 250,245,Zhang Tao,Zhang,zhang-tao,no-pic,1500,46,e-commerce,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a875da14bbe6f2652f5cc16/416x416.jpg?background=000000&cropX1=790&cropX2=3782&cropY1=244&cropY2=3234 252 | 251,251,Ruan Shuilong,Ruan,ruan-shuilong,no-pic,1490,83,chemicals,Manufacturing,M, 253 | 252,251,Wang Jinshu,Wang,wang-jinshu,no-pic,1490,62,chemicals,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7cf76431358e4955acfc4b/416x416.jpg?background=000000&cropX1=0&cropX2=2832&cropY1=165&cropY2=2999 254 | 253,251,Wu Yiling,Wu,wu-yiling,wu-yiling,1490,69,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/52fe6d2bf24e45432177784f7e1b8666/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=66&cropY2=810 255 | 254,251,Zhou Hongyi,Zhou,zhou-hongyi,zhou-hongyi,1490,48,security software,Technology,M,//specials-images.forbesimg.com/imageserve/936450a91a016db56ea72c10985090a2/416x416.jpg?background=000000&cropX1=8&cropX2=733&cropY1=18&cropY2=743 256 | 255,255,Min Luo,Luo,min-luo,no-pic,1480,36,Online finance,Finance and Investments,, 257 | 256,255,Wang Jiufang,Wang,wang-jiufang,no-pic,1480,55,real estate,Real Estate,M, 258 | 257,255,Wu Xu,Wu,wu-xu,no-pic,1480,55,real estate,Real Estate,M, 259 | 258,258,Miao Hangen,Miao,miao-hangen,miao-hangen,1470,54,"textiles, petrochemicals",Diversified,M, 260 | 259,258,Wang Qicheng,Wang,wang-qicheng,no-pic,1470,39,entertainment,Technology,M,//specials-images.forbesimg.com/imageserve/589de3ca4bbe6f0e5586748c/416x416.jpg?background=000000&cropX1=52&cropX2=661&cropY1=52&cropY2=661 261 | 260,260,Li Zongsong,Li,li-zongsong,no-pic,1460,51,pharmaceuticals,Healthcare,M, 262 | 261,260,Nan Cunhui,Nan,nan-cunhui,nan-cunhui,1460,55,power equipment,Manufacturing,M,//specials-images.forbesimg.com/imageserve/56290bf2e4b0ffa7afe625bf/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=377&cropY2=1120 263 | 262,260,Zhou Liangzhang,Zhou,zhou-liangzhang,no-pic,1460,56,electrical equipment,Manufacturing,M, 264 | 263,263,Jiang Zhaobai,Jiang,jiang-zhaobai,jiang-zhaobai,1440,55,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/562921a9e4b0ffa7afe6282b/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=13&cropY2=756 265 | 264,263,Wang Jianyi,Wang,wang-jianyi,wang-jianyi,1440,56,fiber optic cables,Technology,M, 266 | 265,263,Zhang Jingzhang,Zhang,zhang-jingzhang,no-pic,1440,83,precision machinery,Manufacturing,M, 267 | 266,266,Lou Zhongfu,Lou,lou-zhongfu,lou-zhongfu,1430,65,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/562a8f82e4b0ffa7afe63754/416x416.jpg?background=000000&cropX1=121&cropX2=744&cropY1=187&cropY2=811 268 | 267,266,Tang Yan,Tang,tang-yan,no-pic,1430,40,social media,Technology,M, 269 | 268,266,Yu Rong,Yu,yu-rong,no-pic,1430,47,health clinics,Healthcare,M, 270 | 269,269,Cai Dongqing,Cai,cai-dongqing-2,cai-dongqing-2,1420,49,animation,Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/97e2cea696b6caa82e72ce79f52e4303/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=64&cropY2=807 271 | 270,269,Lin Dingqiang,Lin,lin-dingqiang,no-pic,1420,52,real estate,Real Estate,M, 272 | 271,269,Xiao Chunhong,Xiao,xiao-chunhong,no-pic,1420,51,real estate,Real Estate,M, 273 | 272,272,Chen Ningning,Chen,chen-ningning,chen-ningning,1410,48,minerals,Metals & Mining,F, 274 | 273,272,Jiang Xuefei,Jiang,jiang-xuefei,no-pic,1410,49,printed circuit boards,Technology,M, 275 | 274,272,Zheng Jianjiang,Zheng,zheng-jianjiang,zheng-jianjiang,1410,58,electrical equipment,Manufacturing,M,//specials-images.forbesimg.com/imageserve/562a57ede4b0ffa7afe63004/416x416.jpg?background=000000&cropX1=105&cropX2=744&cropY1=82&cropY2=722 276 | 275,275,Ou Zongrong,Ou,ou-zongrong,ou-zongrong,1400,55,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7ce3cd31358e4955acfbb2/416x416.jpg?background=000000&cropX1=11&cropX2=1812&cropY1=155&cropY2=1956 277 | 276,275,Wang Linpeng,Wang,wang-linpeng,no-pic,1400,50,furniture retailing,Construction & Engineering,M, 278 | 277,275,Zhou Yifeng,Zhou,zhou-yifeng-1,no-pic,1400,50,chemicals,Manufacturing,M, 279 | 278,275,Zhou Zongwen,Zhou,zhou-zongwen,no-pic,1400,61,jewelry,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a8dfecaa7ea4316901410ba/416x416.jpg?background=000000&cropX1=16&cropX2=1798&cropY1=89&cropY2=1873 280 | 279,279,Fu Mingkang,Fu,fu-mingkang,no-pic,1390,55,manufacturing,Manufacturing,M, 281 | 280,280,Que Wenbin,Que,que-wenbin,no-pic,1380,55,pharmaceuticals,Healthcare,M, 282 | 281,280,Wen Jianping,Wen,wen-jianping,wen-jianping,1380,56,sewage treatment,Service,M,//specials-images.forbesimg.com/imageserve/888de6700061e95179d28f706cfe2196/416x416.jpg?background=000000&cropX1=50&cropX2=697&cropY1=0&cropY2=648 283 | 282,282,Bu Yang,Bu,bu-yang,no-pic-female,1370,,retail,Fashion & Retail,F, 284 | 283,283,Wang Liping,Wang,wang-liping,no-pic,1360,52,hydraulic machinery,Manufacturing,M, 285 | 284,284,Bo Shijiu,Bo,bo-shijiu,no-pic,1350,54,logsitics,Logistics,M, 286 | 285,284,Zhao Weiguo,Zhao,zhao-weiguo,no-pic,1350,52,IT products,Technology,M,//specials-images.forbesimg.com/imageserve/589f2d6e31358e1a35ab274c/416x416.jpg?background=000000&cropX1=43&cropX2=703&cropY1=192&cropY2=853 287 | 286,286,Fu Guangming,Fu,fu-guangming,fu-guangming,1340,65,poultry,Food and Beverage,M,//specials-images.forbesimg.com/imageserve/562e5762e4b0ffa7afe645e2/416x416.jpg?background=000000&cropX1=0&cropX2=676&cropY1=171&cropY2=848 288 | 287,286,Huang Xiaofen,Huang,huang-xiaofen,no-pic-female,1340,57,printed circuit boards,Technology,F, 289 | 288,286,Huang Zhuangmian,Huang,huang-zhuangmian,no-pic,1340,48,logistics,Logistics,M, 290 | 289,286,Li Jiaquan,Li,li-jiaquan,no-pic,1340,55,chemicals,Manufacturing,M, 291 | 290,286,Shum Chiu Hung,Shum,shum-chiu-hung,no-pic,1340,49,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a8df65b31358e4955adff84/416x416.jpg?background=000000&cropX1=189&cropX2=1135&cropY1=0&cropY2=945 292 | 291,291,Gao Yunfeng,Gao,gao-yunfeng,no-pic,1330,51,industrial lasers,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a8df770a7ea431690141002/416x416.jpg?background=000000&cropX1=187&cropX2=1715&cropY1=102&cropY2=1630 293 | 292,291,Liu Zhenguo,Liu,liu-zhenguo,no-pic,1330,53,sewage treatment,Service,M, 294 | 293,291,Su Rubo,Su,su-rubo,no-pic,1330,64,real estate,Real Estate,M, 295 | 294,294,Jiang Ganjun,Jiang,jiang-ganjun,no-pic,1320,55,home & office products,Manufacturing,M, 296 | 295,294,Wen Yibo,Wen,wen-yibo,wen-yibo,1320,53,wastewater treatment,Service,M,//specials-images.forbesimg.com/imageserve/5a7d08c7a7ea431690130db0/416x416.jpg?background=000000&cropX1=823&cropX2=3492&cropY1=0&cropY2=2667 297 | 296,294,Yu Peidi,Yu,yu-peidi,yu-peidi,1320,59,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/1bd57d61bff2fbf42cc46b5d3d2a4bd6/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=3&cropY2=747 298 | 297,294,Zhou Yongli,Zhou,zhou-yongli,no-pic,1320,64,conglomerate,Manufacturing,M,//specials-images.forbesimg.com/imageserve/589f2ffda7ea431f321947f2/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=5&cropY2=746 299 | 298,298,Gu Wei,Gu,gu-wei,no-pic,1310,53,consumer electronics,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a97219931358e79a28a9b01/416x416.jpg?background=000000&cropX1=120&cropX2=4005&cropY1=549&cropY2=4432 300 | 299,298,Shao Qinxiang,Shao,shao-qinxiang,no-pic,1310,64,diversified,Manufacturing,M, 301 | 300,298,Sit Kwong Lam,Sit,sit-kwong-lam,sit-kwong-lam,1310,50,"oil, transportation",Energy,M,//specials-images.forbesimg.com/imageserve/5a7e75d331358e4955ad1477/416x416.jpg?background=000000&cropX1=292&cropX2=2945&cropY1=677&cropY2=3328 302 | 301,298,Xu Ziquan,Xu,xu-ziquan,no-pic,1310,60,software,Technology,M, 303 | 302,298,Yan Yude,Yan,yan-yude,no-pic,1310,58,private schools,Service,M, 304 | 303,303,Liang Guangwei,Liang,liang-guangwei,no-pic,1300,55,conglomerate,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7cd16631358e4955acfa40/416x416.jpg?background=000000&cropX1=459&cropX2=3130&cropY1=11&cropY2=2684 305 | 304,303,Ou Xueming,Ou,ou-xueming,no-pic,1300,70,real estate,Real Estate,M, 306 | 305,303,Tang Jianfang,Tang,tang-jianfang,no-pic-female,1300,,packaged foods,Food and Beverage,F, 307 | 306,303,Wang Yong,Wang,wang-yong,wang-yong,1300,68,food sweeteners,Food and Beverage,M, 308 | 307,307,Don Gao,Gao,don-gao,no-pic,1290,53,power tools,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a971fefa7ea434a0c279871/416x416.jpg?background=000000&cropX1=80&cropX2=858&cropY1=571&cropY2=1348 309 | 308,307,Liu Jincheng,Liu,liu-jincheng,no-pic,1290,54,lithium batteries,Technology,M,//specials-images.forbesimg.com/imageserve/5a8df936a7ea431690141033/416x416.jpg?background=000000&cropX1=1340&cropX2=4798&cropY1=0&cropY2=3456 310 | 309,307,Zan Shengda,Zan,zan-shengda,zan-shengda,1290,55,diversified,Diversified,M,//specials-images.forbesimg.com/imageserve/5a7d1d8c4bbe6f2652f51243/416x416.jpg?background=000000&cropX1=216&cropX2=1272&cropY1=11&cropY2=1067 311 | 310,307,Zhou Bajin,Zhou,zhou-bajin,no-pic,1290,83,auto parts,Manufacturing,M, 312 | 311,311,Li Jun,Li,li-jun,no-pic,1280,54,electronics,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a8df7fda7ea43169014100c/416x416.jpg?background=000000&cropX1=13&cropX2=2109&cropY1=287&cropY2=2383 313 | 312,311,Li Rucheng,Li,li-rucheng,li-rucheng,1280,67,apparel,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7cca7631358e4955acf926/416x416.jpg?background=000000&cropX1=1354&cropX2=3459&cropY1=5&cropY2=2108 314 | 313,311,Lu Di,Lu,lu-di,no-pic,1280,,drones,Technology,M, 315 | 314,311,Wang Jing,Wang,wang-jing,wang-jing,1280,46,telecom services,Telecom,M,//specials-images.forbesimg.com/imageserve/58864f9c5ce6b0e1785051fdc8c26f09/416x416.jpg?background=000000&cropX1=6&cropX2=740&cropY1=153&cropY2=888 316 | 315,315,Cai Rongjun,Cai,cai-rongjun,no-pic,1270,46,electronic components,Technology,M, 317 | 316,316,Qin Qingping,Qin,qin-qingping,no-pic,1260,55,coal & coke,Energy,M, 318 | 317,317,King Pak Fu,King,king-pak-fu,king-pak-fu,1250,49,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589f64fa4bbe6f0e55868ce7/416x416.jpg?background=000000&cropX1=134&cropX2=609&cropY1=68&cropY2=543 319 | 318,317,You Xiaoping,You,you-xiaoping,you-xiaoping,1250,60,"chemicals, spandex",Manufacturing,M, 320 | 319,317,Zhang Yubai,Zhang,zhang-yubai,no-pic,1250,54,wine,Food and Beverage,M,//specials-images.forbesimg.com/imageserve/5a8dfe6a4bbe6f2652f62d58/416x416.jpg?background=000000&cropX1=0&cropX2=720&cropY1=44&cropY2=764 321 | 320,320,Lin Fanlian,Lin,lin-fanlian,no-pic,1240,57,gas,Energy,M, 322 | 321,320,Lu Renjun,Lu,lu-renjun,no-pic,1240,68,,Manufacturing,M, 323 | 322,320,Wang Yanqing,Wang,wang-yanqing-1,no-pic-female,1240,72,carbon fiber products,Manufacturing,F, 324 | 323,323,Chen Xiaxin,Chen,chen-xiaxin,no-pic,1230,56,industrial machinery,Diversified,M, 325 | 324,324,Han Tao,Han,han-tao,no-pic,1220,58,electronics components,Manufacturing,M, 326 | 325,324,He Simo,He,he-simo,no-pic,1220,53,power supply manufacturer,Manufacturing,M, 327 | 326,324,Hu Keqin,Hu,hu-keqin,no-pic,1220,60,chemicals,Diversified,M,//specials-images.forbesimg.com/imageserve/589cfe944bbe6f0e55866af7/416x416.jpg?background=000000&cropX1=111&cropX2=591&cropY1=276&cropY2=756 328 | 327,324,Ni Zhaoxing,Ni,ni-zhaoxing,ni-zhaoxing,1220,63,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/43372ee8b6ecf8e8d8264ccff8e54710/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=230&cropY2=974 329 | 328,324,Zhang Zhangsun,Zhang,zhang-zhangsun,zhang-zhangsun,1220,62,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/d1c69bd9f67afdb1778c9bb7d0975966/416x416.jpg?background=000000&cropX1=188&cropX2=615&cropY1=114&cropY2=541 330 | 329,329,Cao Kejian,Cao,cao-kejian,cao-kejian,1210,56,air compressors,Manufacturing,M,//specials-images.forbesimg.com/imageserve/49e29e276e6cce1a013720fcdb4c4bcc/416x416.jpg?background=000000&cropX1=0&cropX2=742&cropY1=127&cropY2=870 331 | 330,329,Fu Meicheng,Fu,fu-meicheng,fu-meicheng,1210,61,"TV shows, movies",Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/c117a242f07351ebadec8a87798f7239/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=89&cropY2=832 332 | 331,329,Huang Qisen,Huang,huang-qisen,huang-qisen,1210,54,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/1a05b8986b646b2656b8072ac5fd5f8b/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=35&cropY2=778 333 | 332,329,Wan Long,Wan,wan-long,wan-long,1210,78,food,Food and Beverage,M, 334 | 333,333,Cheng Wei,Cheng,cheng-wei,cheng-wei,1200,36,ride-hailing service,Service,M,//specials-images.forbesimg.com/imageserve/59162c8931358e03e5590c24/416x416.jpg?background=000000&cropX1=1046&cropX2=3177&cropY1=126&cropY2=2256 335 | 334,333,Lin Yi,Lin,lin-yi,no-pic,1200,,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589d2183a7ea431f321929d0/416x416.jpg?background=000000&cropX1=5&cropX2=744&cropY1=129&cropY2=869 336 | 335,333,Neil Shen,Shen,neil-shen,neil-shen,1200,51,venture capital investing,Finance and Investments,M,//specials-images.forbesimg.com/imageserve/56ec6894e4b0c144a7f79796/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=0&cropY2=743 337 | 336,333,Sun Yinhuan,Sun,sun-yinhuan,no-pic,1200,69,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/589db1eca7ea431f32192f04/416x416.jpg?background=000000&cropX1=89&cropX2=730&cropY1=105&cropY2=746 338 | 337,333,Jane Yan,Yan,jane-yan,jane-yan,1200,49,software,Technology,F,//specials-images.forbesimg.com/imageserve/58c32b964bbe6f0e55885cca/416x416.jpg?background=000000&cropX1=0&cropX2=416&cropY1=0&cropY2=416 339 | 338,333,Yang Tingdong,Yang,yang-tingdong,no-pic,1200,58,brewery,Food and Beverage,M,//specials-images.forbesimg.com/imageserve/5a8dfb21a7ea43169014106c/416x416.jpg?background=000000&cropX1=5&cropX2=2336&cropY1=250&cropY2=2583 340 | 339,339,Huang Li,Huang,huang-li-1,huang-li-1,1190,55,imaging systems,Technology,M,//specials-images.forbesimg.com/imageserve/589d00f431358e1a35ab0a5f/416x416.jpg?background=000000&cropX1=5&cropX2=744&cropY1=23&cropY2=763 341 | 340,339,Lee Yin Yee,Lee,lee-yin-yee,no-pic,1190,67,glass,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a875a434bbe6f2652f5cb99/416x416.jpg?background=000000&cropX1=360&cropX2=1479&cropY1=168&cropY2=1288 342 | 341,339,Wang Wenbiao,Wang,wang-wenbiao,wang-wenbiao,1190,62,"natural gas, fertilizers",Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a875c0f4bbe6f2652f5cbc2/416x416.jpg?background=000000&cropX1=513&cropX2=2757&cropY1=182&cropY2=2424 343 | 342,339,Yang Zhimao,Yang,yang-zhimao,no-pic,1190,56,"utilities, real estate",Diversified,M, 344 | 343,343,Ou Zonghong,Ou,ou-zonghong,no-pic,1180,49,real estate,Real Estate,M, 345 | 344,344,Ai Lihua,Ai,ai-lihua,no-pic,1170,60,electrical equipment,Manufacturing,M, 346 | 345,344,Chen Bo,Chen,chen-bo,no-pic,1170,48,wind power generation,Energy,M, 347 | 346,344,Mi Enhua,Mi,mi-enhua,no-pic,1170,60,retail,Fashion & Retail,M, 348 | 347,344,Shang Jiyong,Shang,shang-jiyong,no-pic,1170,51,"tires, chemicals",Diversified,M, 349 | 348,344,Tian Ming,Tian,tian-ming,no-pic,1170,65,measuring instruments,Technology,M, 350 | 349,344,Xiu Laigui,Xiu,xiu-laigui,xiu-laigui,1170,64,pharmaceuticals,Healthcare,M,//specials-images.forbesimg.com/imageserve/5a7d1414a7ea431690130e10/416x416.jpg?background=000000&cropX1=11&cropX2=2402&cropY1=394&cropY2=2784 351 | 350,344,Yang Shaopeng,Yang,yang-shaopeng,no-pic,1170,61,Shipping,Logistics,M,//specials-images.forbesimg.com/imageserve/5a875cf5a7ea43169013b8e5/416x416.jpg?background=000000&cropX1=394&cropX2=2762&cropY1=290&cropY2=2656 352 | 351,344,Zhou Wenyu,Zhou,zhou-wenyu,no-pic,1170,54,real estate,Real Estate,M, 353 | 352,352,Chen Dakui,Chen,chen-dakui,no-pic,1160,67,shrink-wrap film,Manufacturing,M, 354 | 353,352,Hon Kwok Lung,Hon,hon-kwok-lung,no-pic,1160,63,real estate,Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5a7e6b7ba7ea431690132536/416x416.jpg?background=000000&cropX1=657&cropX2=3484&cropY1=6&cropY2=2832 355 | 354,352,Huang Bingwen,Huang,huang-bingwen,no-pic,1160,65,packaging,Manufacturing,M, 356 | 355,352,Lin Tianfu,Lin,lin-tianfu,lin-tianfu,1160,56,"footwear, apparel",Fashion & Retail,M,//specials-images.forbesimg.com/imageserve/5628f9d6e4b0ffa7afe624d4/416x416.jpg?background=000000&cropX1=79&cropX2=744&cropY1=3&cropY2=669 357 | 356,352,Liu Xuejing,Liu,liu-xuejing,liu-xuejing,1160,68,"copper, poultry",Diversified,M,//specials-images.forbesimg.com/imageserve/5a7cdbe9a7ea431690130bc1/416x416.jpg?background=000000&cropX1=269&cropX2=1703&cropY1=0&cropY2=1434 358 | 357,352,Wang Han,Wang,wang-han,no-pic,1160,31,airline,Diversified,M, 359 | 358,352,Xia Zuoquan,Xia,xia-zuoquan,xia-zuoquan,1160,57,automobiles,Automotive,M,//specials-images.forbesimg.com/imageserve/43cf0251db56b4feefcd4ddd877d09ed/416x416.jpg?background=000000&cropX1=3&cropX2=744&cropY1=31&cropY2=772 360 | 359,352,Yan Xijun,Yan,yan-xijun,yan-xijun,1160,65,pharmaceuticals,Healthcare,M, 361 | 360,352,Yao Jinbo,Yao,yao-jinbo,yao-jinbo,1160,43,online marketplace,Technology,M, 362 | 361,352,Zhou Liwu,Zhou,zhou-liwu,no-pic,1160,56,water filters,Manufacturing,M, 363 | 362,362,Li Guoqiang,Li,li-guoqiang,no-pic,1150,55,auto dealerships,Automotive,M, 364 | 363,362,Li Xuhui,Li,li-xuhui,no-pic-female,1150,50,soy sauce maker,Food and Beverage,F, 365 | 364,362,Liu Bing,Liu,liu-bing,no-pic,1150,50,retail,Fashion & Retail,M, 366 | 365,362,Ma Yunsheng,Ma,ma-yunsheng,no-pic,1150,56,energy,Diversified,M,//specials-images.forbesimg.com/imageserve/589d2dde31358e1a35ab0bd8/416x416.jpg?background=000000&cropX1=8&cropX2=723&cropY1=0&cropY2=715 367 | 366,362,Peng Jianhu,Peng,peng-jianhu,no-pic,1150,62,tourism,Media & Entertainment,M,//specials-images.forbesimg.com/imageserve/5a7ce4d34bbe6f2652f50f9c/416x416.jpg?background=000000&cropX1=1566&cropX2=2400&cropY1=491&cropY2=1325 368 | 367,362,Wan Lianbu,Wan,wan-lianbu,no-pic,1150,53,fertilizers,Manufacturing,M, 369 | 368,362,Wang Junjin,Wang,wang-junjin,wang-junjin,1150,50,airline,Service,M,//specials-images.forbesimg.com/imageserve/56c74c69e4b062f6b59a1c03/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=2&cropY2=746 370 | 369,362,Zhang Zhirong,Zhang,zhang-zhirong,zhang-zhirong,1150,50,"real estate, shipbuilding",Diversified,M,//specials-images.forbesimg.com/imageserve/de34525958dbc6544d59b65b8b7f34a2/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=0&cropY2=744 371 | 370,370,Cao Renxian,Cao,cao-renxian,no-pic,1140,50,photovoltaic equipment,Energy,M, 372 | 371,370,Chu Jinfu,Chu,chu-jinfu,no-pic,1140,61,electrical equipment,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7c86f34bbe6f2652f500f2/416x416.jpg?background=000000&cropX1=9&cropX2=1956&cropY1=365&cropY2=2313 373 | 372,370,Lucy Peng,Peng,lucy-peng,lucy-peng,1140,46,e-commerce,Technology,F,//specials-images.forbesimg.com/imageserve/01ced083e93c20caaf0fcb876be45608/416x416.jpg?background=000000&cropX1=2&cropX2=744&cropY1=0&cropY2=743 374 | 373,373,Fang Tonghua,Fang,fang-tonghua,no-pic,1130,56,pharmaceuticals,Healthcare,M, 375 | 374,373,He Yamin,He,he-yamin,no-pic,1130,61,manufacturing,Manufacturing,M, 376 | 375,373,Li Guangyu,Li,li-guangyu,no-pic,1130,55,education,Service,M, 377 | 376,373,Wu Daohong,Wu,wu-daohong,no-pic,1130,53,energy services,Energy,M,//specials-images.forbesimg.com/imageserve/5a7d0a5331358e4955acfd18/416x416.jpg?background=000000&cropX1=167&cropX2=2744&cropY1=6&cropY2=2584 378 | 377,377,Chen Jinsong,Chen,chen-jinsong,chen-jinsong,1120,55,real estate,Real Estate,M, 379 | 378,377,Fu Kwan,Fu,fu-kwan,fu-kwan,1120,61,"real estate, diversified",Diversified,M,//specials-images.forbesimg.com/imageserve/562a69d7e4b0ffa7afe6323f/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=50&cropY2=794 380 | 379,377,Swift Xie,Xie,swift-xie,no-pic,1120,,drones,Technology,M, 381 | 380,377,Xu Jingen,Xu,xu-jingen,no-pic,1120,49,precision metallic components,Manufacturing,M, 382 | 381,377,Zhu Xingming,Zhu,zhu-xingming,no-pic,1120,51,electrical equipment,Manufacturing,M, 383 | 382,382,Li Zhen,Li,li-zhen,no-pic,1110,54,lithium batteries,Manufacturing,M, 384 | 383,383,Jin Huiming,Jin,jin-huiming,no-pic,1100,66,real estate,Real Estate,M, 385 | 384,383,Lin Zhixiong,Lin,lin-zhixiong,no-pic,1100,45,medical devices,Healthcare,M, 386 | 385,383,Jonathan Lu,Lu,jonathan-lu,no-pic,1100,50,e-commerce,Technology,M,//specials-images.forbesimg.com/imageserve/5a7cc1184bbe6f2652f50974/416x416.jpg?background=000000&cropX1=1164&cropX2=2583&cropY1=164&cropY2=1582 387 | 386,383,Lu Yonghua,Lu,lu-yonghua,lu-yonghua,1100,55,electronics,Technology,M, 388 | 387,383,Chanchai Ruayrungruang,Ruayrungruang,chanchai-ruayrungruang,chanchai-ruayrungruang,1100,65,real estate,Real Estate,M,//specials-images.forbesimg.com/imageserve/5a7bc0924bbe6f2652f4f4db/416x416.jpg?background=000000&cropX1=0&cropX2=840&cropY1=100&cropY2=940 389 | 388,383,Xue Hua,Xue,xue-hua,no-pic,1100,49,Agribusiness,Manufacturing,M, 390 | 389,383,Yang Jianxin,Yang,yang-jianxin,no-pic,1100,49,apparel,Technology,M, 391 | 390,383,Yao Xinyi,Yao,yao-xinyi,yao-xinyi,1100,54,air conditioning,Diversified,M,//specials-images.forbesimg.com/imageserve/064a602f59f8656c7e2a1765a579be37/416x416.jpg?background=000000&cropX1=0&cropX2=744&cropY1=219&cropY2=963 392 | 391,391,Li Qiong,Li,li-qiong,no-pic-female,1090,41,online games,Technology,F, 393 | 392,391,Lo Siu Yu,Lo,lo-siu-yu,no-pic,1090,49,conglomerate,Diversified,M, 394 | 393,393,Fang Hongbo,Fang,fang-hongbo,no-pic,1080,52,home appliances,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a8751a34bbe6f2652f5cacf/416x416.jpg?background=000000&cropX1=863&cropX2=3423&cropY1=109&cropY2=2667 395 | 394,393,Wen Pengcheng,Wen,wen-pengcheng,no-pic,1080,56,agribusiness,Food and Beverage,M, 396 | 395,395,Cai Xiaoru,Cai,cai-xiaoru,no-pic,1070,39,electronic components,Technology,M, 397 | 396,395,Li Weiguo,Li,li-weiguo,no-pic,1070,54,construction materials,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a8df8614bbe6f2652f62c5c/416x416.jpg?background=000000&cropX1=19&cropX2=2906&cropY1=905&cropY2=3794 398 | 397,395,Lin Zhijun,Lin,lin-zhijun,no-pic,1070,43,medical devices,Healthcare,M, 399 | 398,395,Liu Zhendong,Liu,liu-zhendong,no-pic,1070,48,industrial parks,Service,M, 400 | 399,395,Wang Zhenghua,Wang,wang-zhenghua,wang-zhenghua,1070,74,budget airline,Service,M,//specials-images.forbesimg.com/imageserve/5a7d055da7ea431690130d9b/416x416.jpg?background=000000&cropX1=881&cropX2=4133&cropY1=14&cropY2=3264 401 | 400,395,Zhang Xinghai,Zhang,zhang-xinghai,no-pic,1070,56,machinery,Manufacturing,M,//specials-images.forbesimg.com/imageserve/5a7d23ac4bbe6f2652f51271/416x416.jpg?background=000000&cropX1=4&cropX2=1645&cropY1=43&cropY2=1684 402 | -------------------------------------------------------------------------------- /examples/fuzzy_pandas examples.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# fuzzy_pandas examples\n", 8 | "\n", 9 | "These are almost all from [Max Harlow](https://twitter.com/maxharlow)'s [awesome NICAR2019 presentation](https://docs.google.com/presentation/d/1djKgqFbkYDM8fdczFhnEJLwapzmt4RLuEjXkJZpKves/) where he demonstrated [csvmatch](https://github.com/maxharlow/csvmatch), which fuzzy_pandas is based on.\n", 10 | "\n", 11 | "**SCROLL DOWN DOWN DOWN TO GET TO THE FUZZY MATCHING PARTS.**" 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 1, 17 | "metadata": {}, 18 | "outputs": [], 19 | "source": [ 20 | "import pandas as pd\n", 21 | "import fuzzy_pandas as fpd" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": 2, 27 | "metadata": {}, 28 | "outputs": [], 29 | "source": [ 30 | "df1 = pd.read_csv(\"data/data1.csv\")\n", 31 | "df2 = pd.read_csv(\"data/data2.csv\")" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 3, 37 | "metadata": {}, 38 | "outputs": [ 39 | { 40 | "data": { 41 | "text/html": [ 42 | "
\n", 43 | "\n", 56 | "\n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | "
namelocationcodename
0George SmileyLondonBeggerman
1Percy AllelineLondonTinker
2Roy BlandLondonSoldier
3Toby EsterhaseViennaPoorman
4Peter GuillamBrixtonnone
5Bill HaydonLondonTailor
6Oliver LaconLondonnone
7Jim PrideauxSlovakianone
8Connie SachsOxfordnone
\n", 122 | "
" 123 | ], 124 | "text/plain": [ 125 | " name location codename\n", 126 | "0 George Smiley London Beggerman\n", 127 | "1 Percy Alleline London Tinker\n", 128 | "2 Roy Bland London Soldier\n", 129 | "3 Toby Esterhase Vienna Poorman\n", 130 | "4 Peter Guillam Brixton none\n", 131 | "5 Bill Haydon London Tailor\n", 132 | "6 Oliver Lacon London none\n", 133 | "7 Jim Prideaux Slovakia none\n", 134 | "8 Connie Sachs Oxford none" 135 | ] 136 | }, 137 | "execution_count": 3, 138 | "metadata": {}, 139 | "output_type": "execute_result" 140 | } 141 | ], 142 | "source": [ 143 | "df1" 144 | ] 145 | }, 146 | { 147 | "cell_type": "code", 148 | "execution_count": 4, 149 | "metadata": {}, 150 | "outputs": [ 151 | { 152 | "data": { 153 | "text/html": [ 154 | "
\n", 155 | "\n", 168 | "\n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | "
Person NameLocation
0Maria Andreyevna OstrakovaRussia
1Otto LeipzigEstonia
2George SMILEYLondon
3Peter GuillamBrixton
4Konny SaksOxford
5Saul EnderbyLondon
6Sam CollinsVietnam
7Tony EsterhaseVienna
8Claus KretzschmarHamburg
\n", 224 | "
" 225 | ], 226 | "text/plain": [ 227 | " Person Name Location\n", 228 | "0 Maria Andreyevna Ostrakova Russia\n", 229 | "1 Otto Leipzig Estonia\n", 230 | "2 George SMILEY London\n", 231 | "3 Peter Guillam Brixton\n", 232 | "4 Konny Saks Oxford\n", 233 | "5 Saul Enderby London\n", 234 | "6 Sam Collins Vietnam\n", 235 | "7 Tony Esterhase Vienna\n", 236 | "8 Claus Kretzschmar Hamburg" 237 | ] 238 | }, 239 | "execution_count": 4, 240 | "metadata": {}, 241 | "output_type": "execute_result" 242 | } 243 | ], 244 | "source": [ 245 | "df2" 246 | ] 247 | }, 248 | { 249 | "cell_type": "markdown", 250 | "metadata": {}, 251 | "source": [ 252 | "# Exact matches\n", 253 | "\n", 254 | "By default, all columns from both dataframes are returned." 255 | ] 256 | }, 257 | { 258 | "cell_type": "code", 259 | "execution_count": 5, 260 | "metadata": {}, 261 | "outputs": [ 262 | { 263 | "name": "stdout", 264 | "output_type": "stream", 265 | "text": [ 266 | "Found (354, 19)\n" 267 | ] 268 | }, 269 | { 270 | "data": { 271 | "text/html": [ 272 | "
\n", 273 | "\n", 286 | "\n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | "
namelastNameuriimageUriworthChangesourceindustrygendercountrytimestamprealTimeWorthrealTimeRankrealTimePositionsquareImageRankNameTotal_net_worthCountryIndustry
0Alexander OttoOttoalexander-ottono-pic2.120real estateReal EstateMGermany154757520186710821.927126.0126.0//specials-images.forbesimg.com/imageserve/5a7...323Alexander Otto$4.94BGermanyReal Estate
1Ben AshkenazyAshkenazyben-ashkenazyno-pic0.000real estateReal EstateMUnited States15475749013334000.000499.0499.0//specials-images.forbesimg.com/imageserve/59e...447Ben Ashkenazy$4.05BUnited StatesReal Estate
2Giovanni FerreroFerrerogiovanni-ferrerono-pic0.000Nutella, chocolatesFood and BeverageMItaly154757520186622673.16538.038.0//specials-images.forbesimg.com/imageserve/5b1...33Giovanni Ferrero$22.6BItalyFood & Beverage
3Henry ChengChenghenry-cheng-1no-pic3.542propertyDiversifiedMHong Kong15475749013341334.2821630.01630.0//specials-images.forbesimg.com/imageserve/5a7...79Henry Cheng$14.1BHong KongRetail
4Henry LauferLauferhenry-lauferno-pic0.000hedge fundsFinance and InvestmentsMUnited States15475749013332000.0001141.01142.0NaN463Henry Laufer$3.95BUnited StatesFinance
\n", 424 | "
" 425 | ], 426 | "text/plain": [ 427 | " name lastName uri imageUri worthChange \\\n", 428 | "0 Alexander Otto Otto alexander-otto no-pic 2.120 \n", 429 | "1 Ben Ashkenazy Ashkenazy ben-ashkenazy no-pic 0.000 \n", 430 | "2 Giovanni Ferrero Ferrero giovanni-ferrero no-pic 0.000 \n", 431 | "3 Henry Cheng Cheng henry-cheng-1 no-pic 3.542 \n", 432 | "4 Henry Laufer Laufer henry-laufer no-pic 0.000 \n", 433 | "\n", 434 | " source industry gender country \\\n", 435 | "0 real estate Real Estate M Germany \n", 436 | "1 real estate Real Estate M United States \n", 437 | "2 Nutella, chocolates Food and Beverage M Italy \n", 438 | "3 property Diversified M Hong Kong \n", 439 | "4 hedge funds Finance and Investments M United States \n", 440 | "\n", 441 | " timestamp realTimeWorth realTimeRank realTimePosition \\\n", 442 | "0 1547575201867 10821.927 126.0 126.0 \n", 443 | "1 1547574901333 4000.000 499.0 499.0 \n", 444 | "2 1547575201866 22673.165 38.0 38.0 \n", 445 | "3 1547574901334 1334.282 1630.0 1630.0 \n", 446 | "4 1547574901333 2000.000 1141.0 1142.0 \n", 447 | "\n", 448 | " squareImage Rank Name \\\n", 449 | "0 //specials-images.forbesimg.com/imageserve/5a7... 323 Alexander Otto \n", 450 | "1 //specials-images.forbesimg.com/imageserve/59e... 447 Ben Ashkenazy \n", 451 | "2 //specials-images.forbesimg.com/imageserve/5b1... 33 Giovanni Ferrero \n", 452 | "3 //specials-images.forbesimg.com/imageserve/5a7... 79 Henry Cheng \n", 453 | "4 NaN 463 Henry Laufer \n", 454 | "\n", 455 | " Total_net_worth Country Industry \n", 456 | "0 $4.94B Germany Real Estate \n", 457 | "1 $4.05B United States Real Estate \n", 458 | "2 $22.6B Italy Food & Beverage \n", 459 | "3 $14.1B Hong Kong Retail \n", 460 | "4 $3.95B United States Finance " 461 | ] 462 | }, 463 | "execution_count": 5, 464 | "metadata": {}, 465 | "output_type": "execute_result" 466 | } 467 | ], 468 | "source": [ 469 | "# csvmatch \\\n", 470 | "# forbes-billionaires.csv \\\n", 471 | "# bloomberg-billionaires.csv \\\n", 472 | "# --fields1 name \\\n", 473 | "# --fields2 Name\n", 474 | "\n", 475 | "df1 = pd.read_csv(\"data/forbes-billionaires.csv\")\n", 476 | "df2 = pd.read_csv(\"data/bloomberg-billionaires.csv\")\n", 477 | "\n", 478 | "results = fpd.fuzzy_merge(df1, df2, left_on='name', right_on='Name')\n", 479 | "\n", 480 | "print(\"Found\", results.shape)\n", 481 | "results.head(5)" 482 | ] 483 | }, 484 | { 485 | "cell_type": "markdown", 486 | "metadata": {}, 487 | "source": [ 488 | "### Only keeping matching columns\n", 489 | "\n", 490 | "The csvmatch default only gives you the shared columns, which you can reproduce with `keep='match'`" 491 | ] 492 | }, 493 | { 494 | "cell_type": "code", 495 | "execution_count": 6, 496 | "metadata": {}, 497 | "outputs": [ 498 | { 499 | "name": "stdout", 500 | "output_type": "stream", 501 | "text": [ 502 | "Found (354, 2)\n" 503 | ] 504 | }, 505 | { 506 | "data": { 507 | "text/html": [ 508 | "
\n", 509 | "\n", 522 | "\n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | "
nameName
0Alexander OttoAlexander Otto
1Ben AshkenazyBen Ashkenazy
2Giovanni FerreroGiovanni Ferrero
3Henry ChengHenry Cheng
4Henry LauferHenry Laufer
\n", 558 | "
" 559 | ], 560 | "text/plain": [ 561 | " name Name\n", 562 | "0 Alexander Otto Alexander Otto\n", 563 | "1 Ben Ashkenazy Ben Ashkenazy\n", 564 | "2 Giovanni Ferrero Giovanni Ferrero\n", 565 | "3 Henry Cheng Henry Cheng\n", 566 | "4 Henry Laufer Henry Laufer" 567 | ] 568 | }, 569 | "execution_count": 6, 570 | "metadata": {}, 571 | "output_type": "execute_result" 572 | } 573 | ], 574 | "source": [ 575 | "df1 = pd.read_csv(\"data/forbes-billionaires.csv\")\n", 576 | "df2 = pd.read_csv(\"data/bloomberg-billionaires.csv\")\n", 577 | "\n", 578 | "results = fpd.fuzzy_merge(df1, df2, left_on='name', right_on='Name', keep='match')\n", 579 | "\n", 580 | "print(\"Found\", results.shape)\n", 581 | "results.head(5)" 582 | ] 583 | }, 584 | { 585 | "cell_type": "markdown", 586 | "metadata": {}, 587 | "source": [ 588 | "### Only keeping specified columns" 589 | ] 590 | }, 591 | { 592 | "cell_type": "code", 593 | "execution_count": 7, 594 | "metadata": {}, 595 | "outputs": [ 596 | { 597 | "name": "stdout", 598 | "output_type": "stream", 599 | "text": [ 600 | "Found (354, 3)\n" 601 | ] 602 | }, 603 | { 604 | "data": { 605 | "text/html": [ 606 | "
\n", 607 | "\n", 620 | "\n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | "
namerealTimeRankRank
0Alexander Otto126.0323
1Ben Ashkenazy499.0447
2Giovanni Ferrero38.033
3Henry Cheng1630.079
4Henry Laufer1141.0463
\n", 662 | "
" 663 | ], 664 | "text/plain": [ 665 | " name realTimeRank Rank\n", 666 | "0 Alexander Otto 126.0 323\n", 667 | "1 Ben Ashkenazy 499.0 447\n", 668 | "2 Giovanni Ferrero 38.0 33\n", 669 | "3 Henry Cheng 1630.0 79\n", 670 | "4 Henry Laufer 1141.0 463" 671 | ] 672 | }, 673 | "execution_count": 7, 674 | "metadata": {}, 675 | "output_type": "execute_result" 676 | } 677 | ], 678 | "source": [ 679 | "df1 = pd.read_csv(\"data/forbes-billionaires.csv\")\n", 680 | "df2 = pd.read_csv(\"data/bloomberg-billionaires.csv\")\n", 681 | "\n", 682 | "results = fpd.fuzzy_merge(df1, df2,\n", 683 | " left_on='name',\n", 684 | " right_on='Name',\n", 685 | " keep_left=['name', 'realTimeRank'],\n", 686 | " keep_right=['Rank'])\n", 687 | "\n", 688 | "print(\"Found\", results.shape)\n", 689 | "results.head(5)" 690 | ] 691 | }, 692 | { 693 | "cell_type": "markdown", 694 | "metadata": {}, 695 | "source": [ 696 | "## Case sensitivity\n", 697 | "\n", 698 | "This one doesn't give us any results!" 699 | ] 700 | }, 701 | { 702 | "cell_type": "code", 703 | "execution_count": 8, 704 | "metadata": {}, 705 | "outputs": [ 706 | { 707 | "name": "stdout", 708 | "output_type": "stream", 709 | "text": [ 710 | "Found (0, 2)\n" 711 | ] 712 | }, 713 | { 714 | "data": { 715 | "text/html": [ 716 | "
\n", 717 | "\n", 730 | "\n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | "
namefull_name
\n", 741 | "
" 742 | ], 743 | "text/plain": [ 744 | "Empty DataFrame\n", 745 | "Columns: [name, full_name]\n", 746 | "Index: []" 747 | ] 748 | }, 749 | "execution_count": 8, 750 | "metadata": {}, 751 | "output_type": "execute_result" 752 | } 753 | ], 754 | "source": [ 755 | "# csvmatch \\\n", 756 | "# cia-world-leaders.csv \\\n", 757 | "# davos-attendees-2019.csv \\\n", 758 | "# --fields1 name \\\n", 759 | "# --fields2 full_name\n", 760 | "\n", 761 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 762 | "df2 = pd.read_csv(\"data/davos-attendees-2019.csv\")\n", 763 | "\n", 764 | "results = fpd.fuzzy_merge(df1, df2,\n", 765 | " left_on='name',\n", 766 | " right_on='full_name',\n", 767 | " keep='match')\n", 768 | "\n", 769 | "print(\"Found\", results.shape)\n", 770 | "results.head(10)" 771 | ] 772 | }, 773 | { 774 | "cell_type": "markdown", 775 | "metadata": {}, 776 | "source": [ 777 | "But if we add **ignore_case** we are good to go." 778 | ] 779 | }, 780 | { 781 | "cell_type": "code", 782 | "execution_count": 9, 783 | "metadata": {}, 784 | "outputs": [ 785 | { 786 | "name": "stdout", 787 | "output_type": "stream", 788 | "text": [ 789 | "Found (119, 2)\n" 790 | ] 791 | }, 792 | { 793 | "data": { 794 | "text/html": [ 795 | "
\n", 796 | "\n", 809 | "\n", 810 | " \n", 811 | " \n", 812 | " \n", 813 | " \n", 814 | " \n", 815 | " \n", 816 | " \n", 817 | " \n", 818 | " \n", 819 | " \n", 820 | " \n", 821 | " \n", 822 | " \n", 823 | " \n", 824 | " \n", 825 | " \n", 826 | " \n", 827 | " \n", 828 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | "
namefull_name
0Abdelkader MESSAHELAbdelkader Messahel
1Dante SICADante Sica
2Guido SANDLERISGuido Sandleris
3Nikol PASHINYANNikol Pashinyan
4Steven CIOBOSteven Ciobo
\n", 845 | "
" 846 | ], 847 | "text/plain": [ 848 | " name full_name\n", 849 | "0 Abdelkader MESSAHEL Abdelkader Messahel\n", 850 | "1 Dante SICA Dante Sica\n", 851 | "2 Guido SANDLERIS Guido Sandleris\n", 852 | "3 Nikol PASHINYAN Nikol Pashinyan\n", 853 | "4 Steven CIOBO Steven Ciobo" 854 | ] 855 | }, 856 | "execution_count": 9, 857 | "metadata": {}, 858 | "output_type": "execute_result" 859 | } 860 | ], 861 | "source": [ 862 | "# csvmatch \\\n", 863 | "# cia-world-leaders.csv \\\n", 864 | "# davos-attendees-2019.csv \\\n", 865 | "# --fields1 name \\\n", 866 | "# --fields2 full_name \\\n", 867 | "# --ignore-case \\\n", 868 | "\n", 869 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 870 | "df2 = pd.read_csv(\"data/davos-attendees-2019.csv\")\n", 871 | "\n", 872 | "results = fpd.fuzzy_merge(df1, df2,\n", 873 | " left_on='name',\n", 874 | " right_on='full_name',\n", 875 | " ignore_case=True,\n", 876 | " keep='match')\n", 877 | "\n", 878 | "print(\"Found\", results.shape)\n", 879 | "results.head(5)" 880 | ] 881 | }, 882 | { 883 | "cell_type": "markdown", 884 | "metadata": {}, 885 | "source": [ 886 | "### Ignoring case, non-latin characters, word ordering\n", 887 | "\n", 888 | "You should really be reading [the presentation](https://docs.google.com/presentation/d/1djKgqFbkYDM8fdczFhnEJLwapzmt4RLuEjXkJZpKves/edit)!" 889 | ] 890 | }, 891 | { 892 | "cell_type": "code", 893 | "execution_count": 10, 894 | "metadata": {}, 895 | "outputs": [ 896 | { 897 | "name": "stdout", 898 | "output_type": "stream", 899 | "text": [ 900 | "Found (138, 2)\n" 901 | ] 902 | }, 903 | { 904 | "data": { 905 | "text/html": [ 906 | "
\n", 907 | "\n", 920 | "\n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | "
namefull_name
0Abdelkader MESSAHELAbdelkader Messahel
1Dante SICADante Sica
2Nicolas DUJOVNENicolás Dujovne
3Guido SANDLERISGuido Sandleris
4Nikol PASHINYANNikol Pashinyan
\n", 956 | "
" 957 | ], 958 | "text/plain": [ 959 | " name full_name\n", 960 | "0 Abdelkader MESSAHEL Abdelkader Messahel\n", 961 | "1 Dante SICA Dante Sica\n", 962 | "2 Nicolas DUJOVNE Nicolás Dujovne\n", 963 | "3 Guido SANDLERIS Guido Sandleris\n", 964 | "4 Nikol PASHINYAN Nikol Pashinyan" 965 | ] 966 | }, 967 | "execution_count": 10, 968 | "metadata": {}, 969 | "output_type": "execute_result" 970 | } 971 | ], 972 | "source": [ 973 | "# $ csvmatch \\\n", 974 | "# cia-world-leaders.csv \\\n", 975 | "# davos-attendees-2019.csv \\\n", 976 | "# --fields1 name \\\n", 977 | "# --fields2 full_name \\\n", 978 | "# -i -a -n -s \\\n", 979 | "\n", 980 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 981 | "df2 = pd.read_csv(\"data/davos-attendees-2019.csv\")\n", 982 | "\n", 983 | "results = fpd.fuzzy_merge(df1, df2,\n", 984 | " left_on=['name'],\n", 985 | " right_on=['full_name'],\n", 986 | " ignore_case=True,\n", 987 | " ignore_nonalpha=True,\n", 988 | " ignore_nonlatin=True,\n", 989 | " ignore_order_words=True,\n", 990 | " keep='match')\n", 991 | "\n", 992 | "print(\"Found\", results.shape)\n", 993 | "results.head(5)" 994 | ] 995 | }, 996 | { 997 | "cell_type": "markdown", 998 | "metadata": {}, 999 | "source": [ 1000 | "# Fuzzy matching\n", 1001 | "\n", 1002 | "## Levenshtein: Edit distance" 1003 | ] 1004 | }, 1005 | { 1006 | "cell_type": "code", 1007 | "execution_count": 11, 1008 | "metadata": {}, 1009 | "outputs": [ 1010 | { 1011 | "name": "stdout", 1012 | "output_type": "stream", 1013 | "text": [ 1014 | "Found (323, 2)\n" 1015 | ] 1016 | }, 1017 | { 1018 | "data": { 1019 | "text/html": [ 1020 | "
\n", 1021 | "\n", 1034 | "\n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | "
namename
0Mohammad Ibrahim SHINWARIMohammed Ibrahim
1Mohamed AISSAMohammed Al Issa
2Mohamed MEBARKIMohamed Mansour
3Michael BROWNEMichael Otto
4Michael BROWNEMichael Rubin
5Christian PORTERChristian Oetker
6Christopher PYNEJ. Christopher Reyes
7Christopher PYNEChristopher Hohn
8Christopher PYNEChristopher Cline
9Michael KEENANMichael Kim
\n", 1095 | "
" 1096 | ], 1097 | "text/plain": [ 1098 | " name name\n", 1099 | "0 Mohammad Ibrahim SHINWARI Mohammed Ibrahim\n", 1100 | "1 Mohamed AISSA Mohammed Al Issa\n", 1101 | "2 Mohamed MEBARKI Mohamed Mansour\n", 1102 | "3 Michael BROWNE Michael Otto\n", 1103 | "4 Michael BROWNE Michael Rubin\n", 1104 | "5 Christian PORTER Christian Oetker\n", 1105 | "6 Christopher PYNE J. Christopher Reyes\n", 1106 | "7 Christopher PYNE Christopher Hohn\n", 1107 | "8 Christopher PYNE Christopher Cline\n", 1108 | "9 Michael KEENAN Michael Kim" 1109 | ] 1110 | }, 1111 | "execution_count": 11, 1112 | "metadata": {}, 1113 | "output_type": "execute_result" 1114 | } 1115 | ], 1116 | "source": [ 1117 | "# csvmatch \\\n", 1118 | "# cia-world-leaders.csv \\\n", 1119 | "# forbes-billionaires.csv \\\n", 1120 | "# --fields1 name \\\n", 1121 | "# --fields2 name \\\n", 1122 | "# --fuzzy levenshtein \\\n", 1123 | "\n", 1124 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 1125 | "df2 = pd.read_csv(\"data/forbes-billionaires.csv\")\n", 1126 | "\n", 1127 | "results = fpd.fuzzy_merge(df1, df2,\n", 1128 | " left_on='name',\n", 1129 | " right_on='name',\n", 1130 | " method='levenshtein',\n", 1131 | " keep='match')\n", 1132 | "\n", 1133 | "print(\"Found\", results.shape)\n", 1134 | "results.head(10)" 1135 | ] 1136 | }, 1137 | { 1138 | "cell_type": "markdown", 1139 | "metadata": {}, 1140 | "source": [ 1141 | "### Setting a threshold with Levenshtein" 1142 | ] 1143 | }, 1144 | { 1145 | "cell_type": "code", 1146 | "execution_count": 12, 1147 | "metadata": {}, 1148 | "outputs": [ 1149 | { 1150 | "name": "stdout", 1151 | "output_type": "stream", 1152 | "text": [ 1153 | "Found (0, 2)\n" 1154 | ] 1155 | }, 1156 | { 1157 | "data": { 1158 | "text/html": [ 1159 | "
\n", 1160 | "\n", 1173 | "\n", 1174 | " \n", 1175 | " \n", 1176 | " \n", 1177 | " \n", 1178 | " \n", 1179 | " \n", 1180 | " \n", 1181 | " \n", 1182 | " \n", 1183 | "
namename
\n", 1184 | "
" 1185 | ], 1186 | "text/plain": [ 1187 | "Empty DataFrame\n", 1188 | "Columns: [name, name]\n", 1189 | "Index: []" 1190 | ] 1191 | }, 1192 | "execution_count": 12, 1193 | "metadata": {}, 1194 | "output_type": "execute_result" 1195 | } 1196 | ], 1197 | "source": [ 1198 | "# csvmatch \\\n", 1199 | "# cia-world-leaders.csv \\\n", 1200 | "# forbes-billionaires.csv \\\n", 1201 | "# --fields1 name \\\n", 1202 | "# --fields2 name \\\n", 1203 | "# --fuzzy levenshtein \\\n", 1204 | "\n", 1205 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 1206 | "df2 = pd.read_csv(\"data/forbes-billionaires.csv\")\n", 1207 | "\n", 1208 | "results = fpd.fuzzy_merge(df1, df2,\n", 1209 | " left_on='name',\n", 1210 | " right_on='name',\n", 1211 | " method='levenshtein',\n", 1212 | " threshold=0.85,\n", 1213 | " keep='match')\n", 1214 | "\n", 1215 | "print(\"Found\", results.shape)\n", 1216 | "results.head(10)" 1217 | ] 1218 | }, 1219 | { 1220 | "cell_type": "markdown", 1221 | "metadata": {}, 1222 | "source": [ 1223 | "## Jaro: Edit distance" 1224 | ] 1225 | }, 1226 | { 1227 | "cell_type": "code", 1228 | "execution_count": 13, 1229 | "metadata": {}, 1230 | "outputs": [ 1231 | { 1232 | "name": "stdout", 1233 | "output_type": "stream", 1234 | "text": [ 1235 | "Found (77842, 2)\n" 1236 | ] 1237 | }, 1238 | { 1239 | "data": { 1240 | "text/html": [ 1241 | "
\n", 1242 | "\n", 1255 | "\n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | " \n", 1271 | " \n", 1272 | " \n", 1273 | " \n", 1274 | " \n", 1275 | " \n", 1276 | " \n", 1277 | " \n", 1278 | " \n", 1279 | " \n", 1280 | " \n", 1281 | " \n", 1282 | " \n", 1283 | " \n", 1284 | " \n", 1285 | " \n", 1286 | " \n", 1287 | " \n", 1288 | " \n", 1289 | " \n", 1290 | " \n", 1291 | " \n", 1292 | " \n", 1293 | " \n", 1294 | " \n", 1295 | " \n", 1296 | " \n", 1297 | " \n", 1298 | " \n", 1299 | " \n", 1300 | " \n", 1301 | " \n", 1302 | " \n", 1303 | " \n", 1304 | " \n", 1305 | " \n", 1306 | " \n", 1307 | " \n", 1308 | " \n", 1309 | " \n", 1310 | " \n", 1311 | " \n", 1312 | " \n", 1313 | " \n", 1314 | " \n", 1315 | "
namename
0Hamdullah MOHIBPamela Mars
1Hamdullah MOHIBHarold Hamm
2Hamdullah MOHIBSamuel Yin
3Hamdullah MOHIBKalanithi Maran
4Hamdullah MOHIBSaleh Kamel
5Hamdullah MOHIBHamdi Ulukaya
6Hamdullah MOHIBEmanuella Barilla
7Hamdullah MOHIBHamdi Akin
8Mohammad Farid HAMIDIFahd Hariri
9Mohammad Farid HAMIDIMikhail Fridman
\n", 1316 | "
" 1317 | ], 1318 | "text/plain": [ 1319 | " name name\n", 1320 | "0 Hamdullah MOHIB Pamela Mars\n", 1321 | "1 Hamdullah MOHIB Harold Hamm\n", 1322 | "2 Hamdullah MOHIB Samuel Yin\n", 1323 | "3 Hamdullah MOHIB Kalanithi Maran\n", 1324 | "4 Hamdullah MOHIB Saleh Kamel\n", 1325 | "5 Hamdullah MOHIB Hamdi Ulukaya\n", 1326 | "6 Hamdullah MOHIB Emanuella Barilla\n", 1327 | "7 Hamdullah MOHIB Hamdi Akin\n", 1328 | "8 Mohammad Farid HAMIDI Fahd Hariri\n", 1329 | "9 Mohammad Farid HAMIDI Mikhail Fridman" 1330 | ] 1331 | }, 1332 | "execution_count": 13, 1333 | "metadata": {}, 1334 | "output_type": "execute_result" 1335 | } 1336 | ], 1337 | "source": [ 1338 | "# csvmatch \\\n", 1339 | "# cia-world-leaders.csv \\\n", 1340 | "# forbes-billionaires.csv \\\n", 1341 | "# --fields1 name \\\n", 1342 | "# --fields2 name \\\n", 1343 | "# --fuzzy levenshtein \\\n", 1344 | "\n", 1345 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 1346 | "df2 = pd.read_csv(\"data/forbes-billionaires.csv\")\n", 1347 | "\n", 1348 | "results = fpd.fuzzy_merge(df1, df2,\n", 1349 | " left_on='name',\n", 1350 | " right_on='name',\n", 1351 | " method='jaro',\n", 1352 | " keep='match')\n", 1353 | "\n", 1354 | "print(\"Found\", results.shape)\n", 1355 | "results.head(10)" 1356 | ] 1357 | }, 1358 | { 1359 | "cell_type": "markdown", 1360 | "metadata": {}, 1361 | "source": [ 1362 | "## Metaphone: Phonetic match" 1363 | ] 1364 | }, 1365 | { 1366 | "cell_type": "code", 1367 | "execution_count": 14, 1368 | "metadata": {}, 1369 | "outputs": [ 1370 | { 1371 | "name": "stdout", 1372 | "output_type": "stream", 1373 | "text": [ 1374 | "Found (18, 2)\n" 1375 | ] 1376 | }, 1377 | { 1378 | "data": { 1379 | "text/html": [ 1380 | "
\n", 1381 | "\n", 1394 | "\n", 1395 | " \n", 1396 | " \n", 1397 | " \n", 1398 | " \n", 1399 | " \n", 1400 | " \n", 1401 | " \n", 1402 | " \n", 1403 | " \n", 1404 | " \n", 1405 | " \n", 1406 | " \n", 1407 | " \n", 1408 | " \n", 1409 | " \n", 1410 | " \n", 1411 | " \n", 1412 | " \n", 1413 | " \n", 1414 | " \n", 1415 | " \n", 1416 | " \n", 1417 | " \n", 1418 | " \n", 1419 | " \n", 1420 | " \n", 1421 | " \n", 1422 | " \n", 1423 | " \n", 1424 | " \n", 1425 | " \n", 1426 | " \n", 1427 | " \n", 1428 | " \n", 1429 | " \n", 1430 | " \n", 1431 | " \n", 1432 | " \n", 1433 | " \n", 1434 | " \n", 1435 | " \n", 1436 | " \n", 1437 | " \n", 1438 | " \n", 1439 | " \n", 1440 | " \n", 1441 | " \n", 1442 | " \n", 1443 | " \n", 1444 | " \n", 1445 | " \n", 1446 | " \n", 1447 | " \n", 1448 | " \n", 1449 | " \n", 1450 | " \n", 1451 | " \n", 1452 | " \n", 1453 | " \n", 1454 | "
namename
0KYAW TINKO TAE HUN
1CHHAY THANKO TAE HUN
2MIAO WeiM23
3Aysha MOHAMMEDJAISH-I-MOHAMMED
4Mamadi TOUREMAMADU TURE
5KIM Yong CholKIM YONG CHOL
6PAK Yong SikPAK YONG SIK
7RI Man GonRI MAN GON
8RI Su YongRI SU YONG
9JON Kyong NamYO'N CHO'NG NAM
\n", 1455 | "
" 1456 | ], 1457 | "text/plain": [ 1458 | " name name\n", 1459 | "0 KYAW TIN KO TAE HUN\n", 1460 | "1 CHHAY THAN KO TAE HUN\n", 1461 | "2 MIAO Wei M23\n", 1462 | "3 Aysha MOHAMMED JAISH-I-MOHAMMED\n", 1463 | "4 Mamadi TOURE MAMADU TURE\n", 1464 | "5 KIM Yong Chol KIM YONG CHOL\n", 1465 | "6 PAK Yong Sik PAK YONG SIK\n", 1466 | "7 RI Man Gon RI MAN GON\n", 1467 | "8 RI Su Yong RI SU YONG\n", 1468 | "9 JON Kyong Nam YO'N CHO'NG NAM" 1469 | ] 1470 | }, 1471 | "execution_count": 14, 1472 | "metadata": {}, 1473 | "output_type": "execute_result" 1474 | } 1475 | ], 1476 | "source": [ 1477 | "# csvmatch \\\n", 1478 | "# cia-world-leaders.csv \\\n", 1479 | "# un-sanctions.csv \\\n", 1480 | "# --fields1 name \\\n", 1481 | "# --fields2 name \\\n", 1482 | "# --fuzzy metaphone \\\n", 1483 | "\n", 1484 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 1485 | "df2 = pd.read_csv(\"data/un-sanctions.csv\")\n", 1486 | "\n", 1487 | "results = fpd.fuzzy_merge(df1, df2,\n", 1488 | " left_on='name',\n", 1489 | " right_on='name',\n", 1490 | " method='metaphone',\n", 1491 | " keep='match')\n", 1492 | "\n", 1493 | "print(\"Found\", results.shape)\n", 1494 | "results.head(10)" 1495 | ] 1496 | }, 1497 | { 1498 | "cell_type": "markdown", 1499 | "metadata": {}, 1500 | "source": [ 1501 | "## Bilenko\n", 1502 | "\n", 1503 | "You'll need to respond to the prompts when you run the code. 10-15 is best, but send `f` when you've decided you're finished." 1504 | ] 1505 | }, 1506 | { 1507 | "cell_type": "code", 1508 | "execution_count": 15, 1509 | "metadata": {}, 1510 | "outputs": [ 1511 | { 1512 | "name": "stderr", 1513 | "output_type": "stream", 1514 | "text": [ 1515 | "\n", 1516 | "Answer questions as follows:\n", 1517 | " y - yes\n", 1518 | " n - no\n", 1519 | " s - skip\n", 1520 | " f - finished\n", 1521 | "\n", 1522 | "name: Antonio Eduardo BECALI Garrido\n", 1523 | "\n", 1524 | "name: Antonio Neri\n", 1525 | "\n", 1526 | "Do these records refer to the same thing? [y/n/s/f] " 1527 | ] 1528 | }, 1529 | { 1530 | "name": "stdout", 1531 | "output_type": "stream", 1532 | "text": [ 1533 | "n\n" 1534 | ] 1535 | }, 1536 | { 1537 | "name": "stderr", 1538 | "output_type": "stream", 1539 | "text": [ 1540 | "\n", 1541 | "name: Michel Bongongo IKOLI\n", 1542 | "\n", 1543 | "name: Michel Vounatsos\n", 1544 | "\n", 1545 | "Do these records refer to the same thing? [y/n/s/f] " 1546 | ] 1547 | }, 1548 | { 1549 | "name": "stdout", 1550 | "output_type": "stream", 1551 | "text": [ 1552 | "n\n" 1553 | ] 1554 | }, 1555 | { 1556 | "name": "stderr", 1557 | "output_type": "stream", 1558 | "text": [ 1559 | "\n", 1560 | "name: Mariam Mahamat NOUR\n", 1561 | "\n", 1562 | "name: Mariam Mohammed Saeed Hareb Al Mehairi\n", 1563 | "\n", 1564 | "Do these records refer to the same thing? [y/n/s/f] " 1565 | ] 1566 | }, 1567 | { 1568 | "name": "stdout", 1569 | "output_type": "stream", 1570 | "text": [ 1571 | "y\n" 1572 | ] 1573 | }, 1574 | { 1575 | "name": "stderr", 1576 | "output_type": "stream", 1577 | "text": [ 1578 | "\n", 1579 | "name: Oliver JOSEPH\n", 1580 | "\n", 1581 | "name: Oliver Samwer\n", 1582 | "\n", 1583 | "Do these records refer to the same thing? [y/n/s/f] " 1584 | ] 1585 | }, 1586 | { 1587 | "name": "stdout", 1588 | "output_type": "stream", 1589 | "text": [ 1590 | "n\n" 1591 | ] 1592 | }, 1593 | { 1594 | "name": "stderr", 1595 | "output_type": "stream", 1596 | "text": [ 1597 | "\n", 1598 | "name: Andrew LITTLE\n", 1599 | "\n", 1600 | "name: Andrew LeSueur\n", 1601 | "\n", 1602 | "Do these records refer to the same thing? [y/n/s/f] " 1603 | ] 1604 | }, 1605 | { 1606 | "name": "stdout", 1607 | "output_type": "stream", 1608 | "text": [ 1609 | "n\n" 1610 | ] 1611 | }, 1612 | { 1613 | "name": "stderr", 1614 | "output_type": "stream", 1615 | "text": [ 1616 | "\n", 1617 | "name: Mohammad MOMANI\n", 1618 | "\n", 1619 | "name: Mohammed Saif Al- Sowaidi\n", 1620 | "\n", 1621 | "Do these records refer to the same thing? [y/n/s/f] " 1622 | ] 1623 | }, 1624 | { 1625 | "name": "stdout", 1626 | "output_type": "stream", 1627 | "text": [ 1628 | "n\n" 1629 | ] 1630 | }, 1631 | { 1632 | "name": "stderr", 1633 | "output_type": "stream", 1634 | "text": [ 1635 | "\n", 1636 | "name: John KAUPA\n", 1637 | "\n", 1638 | "name: John McFarlane\n", 1639 | "\n", 1640 | "Do these records refer to the same thing? [y/n/s/f] " 1641 | ] 1642 | }, 1643 | { 1644 | "name": "stdout", 1645 | "output_type": "stream", 1646 | "text": [ 1647 | "n\n" 1648 | ] 1649 | }, 1650 | { 1651 | "name": "stderr", 1652 | "output_type": "stream", 1653 | "text": [ 1654 | "\n", 1655 | "name: Ali bin Masud bin Ali al-SUNAIDI\n", 1656 | "\n", 1657 | "name: Ali bin Masoud bin Ali Al Sunaidy\n", 1658 | "\n", 1659 | "Do these records refer to the same thing? [y/n/s/f] " 1660 | ] 1661 | }, 1662 | { 1663 | "name": "stdout", 1664 | "output_type": "stream", 1665 | "text": [ 1666 | "y\n" 1667 | ] 1668 | }, 1669 | { 1670 | "name": "stderr", 1671 | "output_type": "stream", 1672 | "text": [ 1673 | "\n", 1674 | "name: Joaquim LIMA\n", 1675 | "\n", 1676 | "name: Joachim Wenning\n", 1677 | "\n", 1678 | "Do these records refer to the same thing? [y/n/s/f] " 1679 | ] 1680 | }, 1681 | { 1682 | "name": "stdout", 1683 | "output_type": "stream", 1684 | "text": [ 1685 | "f\n" 1686 | ] 1687 | }, 1688 | { 1689 | "name": "stderr", 1690 | "output_type": "stream", 1691 | "text": [ 1692 | "INFO:dedupe.training:Final predicate set:\n", 1693 | "INFO:dedupe.training:(SimplePredicate: (firstTokenPredicate, name), SimplePredicate: (sameSevenCharStartPredicate, name))\n", 1694 | "INFO:rlr.crossvalidation:using cross validation to find optimum alpha...\n", 1695 | "/Users/soma/.pyenv/versions/3.6.8/lib/python3.6/site-packages/rlr/crossvalidation.py:122: RuntimeWarning: invalid value encountered in double_scalars\n", 1696 | " * (true_distinct + false_distinct)))\n", 1697 | "INFO:rlr.crossvalidation:optimum alpha: 0.000010, score 0.1\n", 1698 | "INFO:dedupe.training:Final predicate set:\n", 1699 | "INFO:dedupe.training:(SimplePredicate: (firstTokenPredicate, name), SimplePredicate: (sameSevenCharStartPredicate, name))\n", 1700 | "INFO:dedupe.api:0 records\n", 1701 | "INFO:dedupe.api:100 records\n", 1702 | "INFO:dedupe.api:200 records\n", 1703 | "INFO:dedupe.api:300 records\n", 1704 | "INFO:dedupe.api:400 records\n", 1705 | "INFO:dedupe.api:500 records\n", 1706 | "INFO:dedupe.api:600 records\n", 1707 | "INFO:dedupe.api:700 records\n", 1708 | "INFO:dedupe.api:800 records\n", 1709 | "INFO:dedupe.api:900 records\n", 1710 | "INFO:dedupe.api:1000 records\n", 1711 | "INFO:dedupe.api:1100 records\n", 1712 | "INFO:dedupe.api:1200 records\n", 1713 | "INFO:dedupe.api:1300 records\n", 1714 | "INFO:dedupe.api:1400 records\n", 1715 | "INFO:dedupe.api:1500 records\n", 1716 | "INFO:dedupe.api:1600 records\n", 1717 | "INFO:dedupe.api:1700 records\n", 1718 | "INFO:dedupe.api:1800 records\n", 1719 | "INFO:dedupe.api:1900 records\n", 1720 | "INFO:dedupe.api:2000 records\n", 1721 | "INFO:dedupe.api:2100 records\n", 1722 | "INFO:dedupe.api:2200 records\n", 1723 | "INFO:dedupe.api:2300 records\n", 1724 | "INFO:dedupe.api:2400 records\n", 1725 | "INFO:dedupe.api:2500 records\n", 1726 | "INFO:dedupe.api:2600 records\n", 1727 | "INFO:dedupe.api:2700 records\n", 1728 | "INFO:dedupe.api:2800 records\n", 1729 | "INFO:dedupe.api:2900 records\n", 1730 | "INFO:dedupe.api:3000 records\n", 1731 | "INFO:dedupe.api:3100 records\n", 1732 | "INFO:dedupe.api:3200 records\n", 1733 | "INFO:dedupe.api:3300 records\n", 1734 | "INFO:dedupe.api:3400 records\n", 1735 | "INFO:dedupe.api:3500 records\n", 1736 | "INFO:dedupe.api:3600 records\n", 1737 | "INFO:dedupe.api:3700 records\n", 1738 | "INFO:dedupe.api:3800 records\n", 1739 | "INFO:dedupe.api:3900 records\n", 1740 | "INFO:dedupe.api:4000 records\n", 1741 | "INFO:dedupe.api:4100 records\n", 1742 | "INFO:dedupe.api:4200 records\n", 1743 | "INFO:dedupe.api:4300 records\n", 1744 | "INFO:dedupe.api:4400 records\n", 1745 | "INFO:dedupe.api:4500 records\n", 1746 | "INFO:dedupe.api:4600 records\n", 1747 | "INFO:dedupe.api:4700 records\n", 1748 | "INFO:dedupe.api:4800 records\n", 1749 | "INFO:dedupe.api:4900 records\n", 1750 | "INFO:dedupe.api:5000 records\n", 1751 | "INFO:dedupe.api:5100 records\n", 1752 | "INFO:dedupe.api:5200 records\n", 1753 | "INFO:dedupe.api:5300 records\n", 1754 | "INFO:dedupe.api:5400 records\n", 1755 | "INFO:dedupe.api:5500 records\n", 1756 | "INFO:dedupe.api:5600 records\n", 1757 | "INFO:dedupe.api:5700 records\n", 1758 | "/Users/soma/.pyenv/versions/3.6.8/lib/python3.6/site-packages/dedupe/core.py:151: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 1759 | " ('score', 'f4', 1)])\n", 1760 | "INFO:dedupe.api:Maximum expected recall and precision\n", 1761 | "INFO:dedupe.api:recall: 0.692\n", 1762 | "INFO:dedupe.api:precision: 0.439\n", 1763 | "INFO:dedupe.api:With threshold: 0.272\n", 1764 | "INFO:dedupe.api:0 records\n", 1765 | "INFO:dedupe.api:100 records\n", 1766 | "INFO:dedupe.api:200 records\n", 1767 | "INFO:dedupe.api:300 records\n", 1768 | "INFO:dedupe.api:400 records\n", 1769 | "INFO:dedupe.api:500 records\n", 1770 | "INFO:dedupe.api:600 records\n", 1771 | "INFO:dedupe.api:700 records\n", 1772 | "INFO:dedupe.api:800 records\n", 1773 | "INFO:dedupe.api:900 records\n", 1774 | "INFO:dedupe.api:1000 records\n", 1775 | "INFO:dedupe.api:1100 records\n", 1776 | "INFO:dedupe.api:1200 records\n", 1777 | "INFO:dedupe.api:1300 records\n", 1778 | "INFO:dedupe.api:1400 records\n", 1779 | "INFO:dedupe.api:1500 records\n", 1780 | "INFO:dedupe.api:1600 records\n", 1781 | "INFO:dedupe.api:1700 records\n", 1782 | "INFO:dedupe.api:1800 records\n", 1783 | "INFO:dedupe.api:1900 records\n", 1784 | "INFO:dedupe.api:2000 records\n", 1785 | "INFO:dedupe.api:2100 records\n", 1786 | "INFO:dedupe.api:2200 records\n", 1787 | "INFO:dedupe.api:2300 records\n", 1788 | "INFO:dedupe.api:2400 records\n", 1789 | "INFO:dedupe.api:2500 records\n", 1790 | "INFO:dedupe.api:2600 records\n", 1791 | "INFO:dedupe.api:2700 records\n", 1792 | "INFO:dedupe.api:2800 records\n", 1793 | "INFO:dedupe.api:2900 records\n", 1794 | "INFO:dedupe.api:3000 records\n", 1795 | "INFO:dedupe.api:3100 records\n", 1796 | "INFO:dedupe.api:3200 records\n", 1797 | "INFO:dedupe.api:3300 records\n", 1798 | "INFO:dedupe.api:3400 records\n", 1799 | "INFO:dedupe.api:3500 records\n", 1800 | "INFO:dedupe.api:3600 records\n", 1801 | "INFO:dedupe.api:3700 records\n", 1802 | "INFO:dedupe.api:3800 records\n", 1803 | "INFO:dedupe.api:3900 records\n", 1804 | "INFO:dedupe.api:4000 records\n", 1805 | "INFO:dedupe.api:4100 records\n", 1806 | "INFO:dedupe.api:4200 records\n", 1807 | "INFO:dedupe.api:4300 records\n", 1808 | "INFO:dedupe.api:4400 records\n", 1809 | "INFO:dedupe.api:4500 records\n", 1810 | "INFO:dedupe.api:4600 records\n", 1811 | "INFO:dedupe.api:4700 records\n", 1812 | "INFO:dedupe.api:4800 records\n", 1813 | "INFO:dedupe.api:4900 records\n", 1814 | "INFO:dedupe.api:5000 records\n", 1815 | "INFO:dedupe.api:5100 records\n", 1816 | "INFO:dedupe.api:5200 records\n", 1817 | "INFO:dedupe.api:5300 records\n", 1818 | "INFO:dedupe.api:5400 records\n", 1819 | "INFO:dedupe.api:5500 records\n", 1820 | "INFO:dedupe.api:5600 records\n", 1821 | "INFO:dedupe.api:5700 records\n", 1822 | "/Users/soma/.pyenv/versions/3.6.8/lib/python3.6/site-packages/dedupe/core.py:151: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n", 1823 | " ('score', 'f4', 1)])\n" 1824 | ] 1825 | }, 1826 | { 1827 | "name": "stdout", 1828 | "output_type": "stream", 1829 | "text": [ 1830 | "Found (241, 2)\n" 1831 | ] 1832 | }, 1833 | { 1834 | "data": { 1835 | "text/html": [ 1836 | "
\n", 1837 | "\n", 1850 | "\n", 1851 | " \n", 1852 | " \n", 1853 | " \n", 1854 | " \n", 1855 | " \n", 1856 | " \n", 1857 | " \n", 1858 | " \n", 1859 | " \n", 1860 | " \n", 1861 | " \n", 1862 | " \n", 1863 | " \n", 1864 | " \n", 1865 | " \n", 1866 | " \n", 1867 | " \n", 1868 | " \n", 1869 | " \n", 1870 | " \n", 1871 | " \n", 1872 | " \n", 1873 | " \n", 1874 | " \n", 1875 | " \n", 1876 | " \n", 1877 | " \n", 1878 | " \n", 1879 | " \n", 1880 | " \n", 1881 | " \n", 1882 | " \n", 1883 | " \n", 1884 | " \n", 1885 | " \n", 1886 | " \n", 1887 | " \n", 1888 | " \n", 1889 | " \n", 1890 | " \n", 1891 | " \n", 1892 | " \n", 1893 | " \n", 1894 | " \n", 1895 | " \n", 1896 | " \n", 1897 | " \n", 1898 | " \n", 1899 | " \n", 1900 | " \n", 1901 | " \n", 1902 | " \n", 1903 | " \n", 1904 | " \n", 1905 | " \n", 1906 | " \n", 1907 | " \n", 1908 | " \n", 1909 | " \n", 1910 | "
namefull_name
0Raj Kumar SINGHRaj Kumar
1Tran Hong HATran Hong Ha
2Antonio Serifo EMBALOAntonio Neri
3Charles Richard MONDJOCharles Li
4Anthony Wayne Jerome PHILLIPS-SPENCER, Brig. G...Anthony Tan
5David Cruiser NGCAMPHALALADavid Craig
6Michael Daniel HIGGINSMichael Ding
7Michael Tiangjiek MUTMichael Ryan
8Tran Tuan ANHTran Tuan Anh
9James Gordon CARRJames Gorman
\n", 1911 | "
" 1912 | ], 1913 | "text/plain": [ 1914 | " name full_name\n", 1915 | "0 Raj Kumar SINGH Raj Kumar\n", 1916 | "1 Tran Hong HA Tran Hong Ha\n", 1917 | "2 Antonio Serifo EMBALO Antonio Neri\n", 1918 | "3 Charles Richard MONDJO Charles Li\n", 1919 | "4 Anthony Wayne Jerome PHILLIPS-SPENCER, Brig. G... Anthony Tan\n", 1920 | "5 David Cruiser NGCAMPHALALA David Craig\n", 1921 | "6 Michael Daniel HIGGINS Michael Ding\n", 1922 | "7 Michael Tiangjiek MUT Michael Ryan\n", 1923 | "8 Tran Tuan ANH Tran Tuan Anh\n", 1924 | "9 James Gordon CARR James Gorman" 1925 | ] 1926 | }, 1927 | "execution_count": 15, 1928 | "metadata": {}, 1929 | "output_type": "execute_result" 1930 | } 1931 | ], 1932 | "source": [ 1933 | "# $ csvmatch \\\n", 1934 | "# cia-world-leaders.csv \\\n", 1935 | "# davos-attendees-2019.csv \\\n", 1936 | "# --fields1 name \\\n", 1937 | "# --fields2 full_name \\\n", 1938 | "# --fuzzy bilenko \\\n", 1939 | "\n", 1940 | "df1 = pd.read_csv(\"data/cia-world-leaders.csv\")\n", 1941 | "df2 = pd.read_csv(\"data/davos-attendees-2019.csv\")\n", 1942 | "\n", 1943 | "results = fpd.fuzzy_merge(df1, df2,\n", 1944 | " left_on='name',\n", 1945 | " right_on='full_name',\n", 1946 | " method='bilenko',\n", 1947 | " keep='match')\n", 1948 | "\n", 1949 | "print(\"Found\", results.shape)\n", 1950 | "results.head(10)" 1951 | ] 1952 | } 1953 | ], 1954 | "metadata": { 1955 | "kernelspec": { 1956 | "display_name": "Python 3", 1957 | "language": "python", 1958 | "name": "python3" 1959 | }, 1960 | "language_info": { 1961 | "codemirror_mode": { 1962 | "name": "ipython", 1963 | "version": 3 1964 | }, 1965 | "file_extension": ".py", 1966 | "mimetype": "text/x-python", 1967 | "name": "python", 1968 | "nbconvert_exporter": "python", 1969 | "pygments_lexer": "ipython3", 1970 | "version": "3.6.8" 1971 | } 1972 | }, 1973 | "nbformat": 4, 1974 | "nbformat_minor": 2 1975 | } 1976 | -------------------------------------------------------------------------------- /fuzzy_pandas/__init__.py: -------------------------------------------------------------------------------- 1 | from .fuzzy_merge import fuzzy_merge 2 | -------------------------------------------------------------------------------- /fuzzy_pandas/fuzzy_merge.py: -------------------------------------------------------------------------------- 1 | import csvmatch 2 | import pandas as pd 3 | 4 | 5 | def fuzzy_merge(df1, 6 | df2, 7 | on=None, 8 | left_on=None, 9 | right_on=None, 10 | keep=None, 11 | keep_left='all', 12 | keep_right='all', 13 | method='exact', 14 | threshold=0.6, 15 | **kwargs): 16 | """Fuzzy matching between two dataframes 17 | 18 | Parameters 19 | ---------- 20 | left : DataFrame 21 | right : DataFrame 22 | Object to merge left with 23 | on : str or list 24 | Column names to compare. These must be found in both DataFrames. 25 | left_on : str or list 26 | Column names to compare in the left DataFrame. 27 | right_on : str or list 28 | Column names to compare in the right DataFrame. 29 | keep : str { 'all', 'match' } 30 | Overrides keep_left and keep_right 31 | keep_left : str or list, default 'all' 32 | List of columns to preserve from the left DataFrame. 33 | If 'all', preserve all columns. 34 | If 'match', preserve left_on matching) column. 35 | If any other string, just keeps that one column. 36 | keep_right : str or list, default 'all' 37 | List of columns to preserve from the right DataFrame. 38 | If 'all', preserve all columns. Defaults to right_on. 39 | If 'match', preserve right_on (matching) column. 40 | If any other string, just keeps that one column. 41 | method : str or list, default 'exact' 42 | Perform a fuzzy match, and an optional specified algorithm. 43 | Multiple algorithms can be specified which will apply to each field 44 | respectively. 45 | 46 | * exact: exact matches 47 | * levenshtein: string distance metric 48 | * jaro: string distance metric 49 | * metaphone: phoenetic matching algorithm 50 | * bilenko: prompts for matches 51 | 52 | threshold : float or list, default 0.6 53 | The threshold for a fuzzy match as a number between 0 and 1 54 | Multiple numbers will be applied to each field respectively 55 | ignore_case : bool, default False 56 | Ignore case (default is case-sensitive) 57 | ignore_nonalpha : bool, default False 58 | Ignore non-alphanumeric characters 59 | ignore_nonlatin : bool, default False 60 | Ignore characters from non-latin alphabets 61 | Accented characters are compared to their unaccented equivalent 62 | ignore_order_words : bool, default False 63 | Ignore the order words are given in 64 | ignore_order_letters : bool, default False 65 | Ignore the order the letters are given in, regardless of word order 66 | ignore_titles : bool, default False 67 | Ignore a predefined list of name titles (such as Mr, Ms, etc) 68 | join : { 'inner', 'left-outer', 'right-outer', 'full-outer' } 69 | 70 | Returns 71 | ------- 72 | pd.DataFrame 73 | a DataFrame of matchine rows 74 | """ 75 | data1 = df1.values.tolist() 76 | headers1 = list(df1.columns) 77 | 78 | data2 = df2.values.tolist() 79 | headers2 = list(df2.columns) 80 | 81 | if not isinstance(threshold, list): 82 | threshold = [threshold] 83 | 84 | if on: 85 | left_on = on 86 | right_on = on 87 | 88 | if not isinstance(left_on, list): 89 | left_on = [left_on] 90 | 91 | if not isinstance(right_on, list): 92 | right_on = [right_on] 93 | 94 | if keep: 95 | keep_left = keep 96 | keep_right = keep 97 | 98 | if keep_left == 'all': 99 | keep_left = headers1 100 | if keep_right == 'all': 101 | keep_right = headers2 102 | 103 | if keep_left == 'match': 104 | keep_left = left_on 105 | if keep_right == 'match': 106 | keep_right = right_on 107 | 108 | if isinstance(keep_left, str): 109 | keep_left = [keep_left] 110 | 111 | if isinstance(keep_right, str): 112 | keep_right = [keep_right] 113 | 114 | output = [] 115 | output.extend(['1.' + col for col in (keep_left or left_on)]) 116 | output.extend(['2.' + col for col in (keep_right or right_on)]) 117 | 118 | if not isinstance(method, list): 119 | method = [method] 120 | 121 | output = kwargs.pop('output', output) 122 | 123 | results, keys = csvmatch.run( 124 | data1, 125 | headers1, 126 | data2, 127 | headers2, 128 | fields1=left_on, 129 | fields2=right_on, 130 | thresholds=threshold, 131 | output=output, 132 | methods=method, 133 | **kwargs) 134 | 135 | return pd.DataFrame(results, columns=keys) 136 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | with open("README.md", "r") as fh: 4 | long_description = fh.read() 5 | 6 | setup( 7 | name='fuzzy_pandas', 8 | version='0.1', 9 | description='Fuzzy matching in pandas using csvmatch', 10 | long_description=long_description, 11 | long_description_content_type="text/markdown", 12 | url='http://github.com/jsoma/fuzzy_pandas', 13 | author='Jonathan Soma', 14 | author_email='jonathan.soma@gmail.com', 15 | license='MIT', 16 | packages=['fuzzy_pandas'], 17 | install_requires=[ 18 | 'pandas', 19 | 'csvmatch' 20 | ], 21 | keywords='fuzzy matching pandas', 22 | classifiers=[ 23 | 'Intended Audience :: Developers', 24 | 'Intended Audience :: End Users/Desktop', 25 | 'Intended Audience :: Science/Research', 26 | 'Natural Language :: English', 27 | 'Operating System :: OS Independent', 28 | 'Programming Language :: Python :: 3.7', 29 | 'Topic :: Scientific/Engineering :: Information Analysis', 30 | 'Topic :: Utilities' 31 | ] 32 | ) 33 | --------------------------------------------------------------------------------