├── .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 | " name | \n",
61 | " location | \n",
62 | " codename | \n",
63 | "
\n",
64 | " \n",
65 | " \n",
66 | " \n",
67 | " 0 | \n",
68 | " George Smiley | \n",
69 | " London | \n",
70 | " Beggerman | \n",
71 | "
\n",
72 | " \n",
73 | " 1 | \n",
74 | " Percy Alleline | \n",
75 | " London | \n",
76 | " Tinker | \n",
77 | "
\n",
78 | " \n",
79 | " 2 | \n",
80 | " Roy Bland | \n",
81 | " London | \n",
82 | " Soldier | \n",
83 | "
\n",
84 | " \n",
85 | " 3 | \n",
86 | " Toby Esterhase | \n",
87 | " Vienna | \n",
88 | " Poorman | \n",
89 | "
\n",
90 | " \n",
91 | " 4 | \n",
92 | " Peter Guillam | \n",
93 | " Brixton | \n",
94 | " none | \n",
95 | "
\n",
96 | " \n",
97 | " 5 | \n",
98 | " Bill Haydon | \n",
99 | " London | \n",
100 | " Tailor | \n",
101 | "
\n",
102 | " \n",
103 | " 6 | \n",
104 | " Oliver Lacon | \n",
105 | " London | \n",
106 | " none | \n",
107 | "
\n",
108 | " \n",
109 | " 7 | \n",
110 | " Jim Prideaux | \n",
111 | " Slovakia | \n",
112 | " none | \n",
113 | "
\n",
114 | " \n",
115 | " 8 | \n",
116 | " Connie Sachs | \n",
117 | " Oxford | \n",
118 | " none | \n",
119 | "
\n",
120 | " \n",
121 | "
\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 | " Person Name | \n",
173 | " Location | \n",
174 | "
\n",
175 | " \n",
176 | " \n",
177 | " \n",
178 | " 0 | \n",
179 | " Maria Andreyevna Ostrakova | \n",
180 | " Russia | \n",
181 | "
\n",
182 | " \n",
183 | " 1 | \n",
184 | " Otto Leipzig | \n",
185 | " Estonia | \n",
186 | "
\n",
187 | " \n",
188 | " 2 | \n",
189 | " George SMILEY | \n",
190 | " London | \n",
191 | "
\n",
192 | " \n",
193 | " 3 | \n",
194 | " Peter Guillam | \n",
195 | " Brixton | \n",
196 | "
\n",
197 | " \n",
198 | " 4 | \n",
199 | " Konny Saks | \n",
200 | " Oxford | \n",
201 | "
\n",
202 | " \n",
203 | " 5 | \n",
204 | " Saul Enderby | \n",
205 | " London | \n",
206 | "
\n",
207 | " \n",
208 | " 6 | \n",
209 | " Sam Collins | \n",
210 | " Vietnam | \n",
211 | "
\n",
212 | " \n",
213 | " 7 | \n",
214 | " Tony Esterhase | \n",
215 | " Vienna | \n",
216 | "
\n",
217 | " \n",
218 | " 8 | \n",
219 | " Claus Kretzschmar | \n",
220 | " Hamburg | \n",
221 | "
\n",
222 | " \n",
223 | "
\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 | " name | \n",
291 | " lastName | \n",
292 | " uri | \n",
293 | " imageUri | \n",
294 | " worthChange | \n",
295 | " source | \n",
296 | " industry | \n",
297 | " gender | \n",
298 | " country | \n",
299 | " timestamp | \n",
300 | " realTimeWorth | \n",
301 | " realTimeRank | \n",
302 | " realTimePosition | \n",
303 | " squareImage | \n",
304 | " Rank | \n",
305 | " Name | \n",
306 | " Total_net_worth | \n",
307 | " Country | \n",
308 | " Industry | \n",
309 | "
\n",
310 | " \n",
311 | " \n",
312 | " \n",
313 | " 0 | \n",
314 | " Alexander Otto | \n",
315 | " Otto | \n",
316 | " alexander-otto | \n",
317 | " no-pic | \n",
318 | " 2.120 | \n",
319 | " real estate | \n",
320 | " Real Estate | \n",
321 | " M | \n",
322 | " Germany | \n",
323 | " 1547575201867 | \n",
324 | " 10821.927 | \n",
325 | " 126.0 | \n",
326 | " 126.0 | \n",
327 | " //specials-images.forbesimg.com/imageserve/5a7... | \n",
328 | " 323 | \n",
329 | " Alexander Otto | \n",
330 | " $4.94B | \n",
331 | " Germany | \n",
332 | " Real Estate | \n",
333 | "
\n",
334 | " \n",
335 | " 1 | \n",
336 | " Ben Ashkenazy | \n",
337 | " Ashkenazy | \n",
338 | " ben-ashkenazy | \n",
339 | " no-pic | \n",
340 | " 0.000 | \n",
341 | " real estate | \n",
342 | " Real Estate | \n",
343 | " M | \n",
344 | " United States | \n",
345 | " 1547574901333 | \n",
346 | " 4000.000 | \n",
347 | " 499.0 | \n",
348 | " 499.0 | \n",
349 | " //specials-images.forbesimg.com/imageserve/59e... | \n",
350 | " 447 | \n",
351 | " Ben Ashkenazy | \n",
352 | " $4.05B | \n",
353 | " United States | \n",
354 | " Real Estate | \n",
355 | "
\n",
356 | " \n",
357 | " 2 | \n",
358 | " Giovanni Ferrero | \n",
359 | " Ferrero | \n",
360 | " giovanni-ferrero | \n",
361 | " no-pic | \n",
362 | " 0.000 | \n",
363 | " Nutella, chocolates | \n",
364 | " Food and Beverage | \n",
365 | " M | \n",
366 | " Italy | \n",
367 | " 1547575201866 | \n",
368 | " 22673.165 | \n",
369 | " 38.0 | \n",
370 | " 38.0 | \n",
371 | " //specials-images.forbesimg.com/imageserve/5b1... | \n",
372 | " 33 | \n",
373 | " Giovanni Ferrero | \n",
374 | " $22.6B | \n",
375 | " Italy | \n",
376 | " Food & Beverage | \n",
377 | "
\n",
378 | " \n",
379 | " 3 | \n",
380 | " Henry Cheng | \n",
381 | " Cheng | \n",
382 | " henry-cheng-1 | \n",
383 | " no-pic | \n",
384 | " 3.542 | \n",
385 | " property | \n",
386 | " Diversified | \n",
387 | " M | \n",
388 | " Hong Kong | \n",
389 | " 1547574901334 | \n",
390 | " 1334.282 | \n",
391 | " 1630.0 | \n",
392 | " 1630.0 | \n",
393 | " //specials-images.forbesimg.com/imageserve/5a7... | \n",
394 | " 79 | \n",
395 | " Henry Cheng | \n",
396 | " $14.1B | \n",
397 | " Hong Kong | \n",
398 | " Retail | \n",
399 | "
\n",
400 | " \n",
401 | " 4 | \n",
402 | " Henry Laufer | \n",
403 | " Laufer | \n",
404 | " henry-laufer | \n",
405 | " no-pic | \n",
406 | " 0.000 | \n",
407 | " hedge funds | \n",
408 | " Finance and Investments | \n",
409 | " M | \n",
410 | " United States | \n",
411 | " 1547574901333 | \n",
412 | " 2000.000 | \n",
413 | " 1141.0 | \n",
414 | " 1142.0 | \n",
415 | " NaN | \n",
416 | " 463 | \n",
417 | " Henry Laufer | \n",
418 | " $3.95B | \n",
419 | " United States | \n",
420 | " Finance | \n",
421 | "
\n",
422 | " \n",
423 | "
\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 | " name | \n",
527 | " Name | \n",
528 | "
\n",
529 | " \n",
530 | " \n",
531 | " \n",
532 | " 0 | \n",
533 | " Alexander Otto | \n",
534 | " Alexander Otto | \n",
535 | "
\n",
536 | " \n",
537 | " 1 | \n",
538 | " Ben Ashkenazy | \n",
539 | " Ben Ashkenazy | \n",
540 | "
\n",
541 | " \n",
542 | " 2 | \n",
543 | " Giovanni Ferrero | \n",
544 | " Giovanni Ferrero | \n",
545 | "
\n",
546 | " \n",
547 | " 3 | \n",
548 | " Henry Cheng | \n",
549 | " Henry Cheng | \n",
550 | "
\n",
551 | " \n",
552 | " 4 | \n",
553 | " Henry Laufer | \n",
554 | " Henry Laufer | \n",
555 | "
\n",
556 | " \n",
557 | "
\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 | " name | \n",
625 | " realTimeRank | \n",
626 | " Rank | \n",
627 | "
\n",
628 | " \n",
629 | " \n",
630 | " \n",
631 | " 0 | \n",
632 | " Alexander Otto | \n",
633 | " 126.0 | \n",
634 | " 323 | \n",
635 | "
\n",
636 | " \n",
637 | " 1 | \n",
638 | " Ben Ashkenazy | \n",
639 | " 499.0 | \n",
640 | " 447 | \n",
641 | "
\n",
642 | " \n",
643 | " 2 | \n",
644 | " Giovanni Ferrero | \n",
645 | " 38.0 | \n",
646 | " 33 | \n",
647 | "
\n",
648 | " \n",
649 | " 3 | \n",
650 | " Henry Cheng | \n",
651 | " 1630.0 | \n",
652 | " 79 | \n",
653 | "
\n",
654 | " \n",
655 | " 4 | \n",
656 | " Henry Laufer | \n",
657 | " 1141.0 | \n",
658 | " 463 | \n",
659 | "
\n",
660 | " \n",
661 | "
\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 | " name | \n",
735 | " full_name | \n",
736 | "
\n",
737 | " \n",
738 | " \n",
739 | " \n",
740 | "
\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 | " name | \n",
814 | " full_name | \n",
815 | "
\n",
816 | " \n",
817 | " \n",
818 | " \n",
819 | " 0 | \n",
820 | " Abdelkader MESSAHEL | \n",
821 | " Abdelkader Messahel | \n",
822 | "
\n",
823 | " \n",
824 | " 1 | \n",
825 | " Dante SICA | \n",
826 | " Dante Sica | \n",
827 | "
\n",
828 | " \n",
829 | " 2 | \n",
830 | " Guido SANDLERIS | \n",
831 | " Guido Sandleris | \n",
832 | "
\n",
833 | " \n",
834 | " 3 | \n",
835 | " Nikol PASHINYAN | \n",
836 | " Nikol Pashinyan | \n",
837 | "
\n",
838 | " \n",
839 | " 4 | \n",
840 | " Steven CIOBO | \n",
841 | " Steven Ciobo | \n",
842 | "
\n",
843 | " \n",
844 | "
\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 | " name | \n",
925 | " full_name | \n",
926 | "
\n",
927 | " \n",
928 | " \n",
929 | " \n",
930 | " 0 | \n",
931 | " Abdelkader MESSAHEL | \n",
932 | " Abdelkader Messahel | \n",
933 | "
\n",
934 | " \n",
935 | " 1 | \n",
936 | " Dante SICA | \n",
937 | " Dante Sica | \n",
938 | "
\n",
939 | " \n",
940 | " 2 | \n",
941 | " Nicolas DUJOVNE | \n",
942 | " Nicolás Dujovne | \n",
943 | "
\n",
944 | " \n",
945 | " 3 | \n",
946 | " Guido SANDLERIS | \n",
947 | " Guido Sandleris | \n",
948 | "
\n",
949 | " \n",
950 | " 4 | \n",
951 | " Nikol PASHINYAN | \n",
952 | " Nikol Pashinyan | \n",
953 | "
\n",
954 | " \n",
955 | "
\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 | " name | \n",
1039 | " name | \n",
1040 | "
\n",
1041 | " \n",
1042 | " \n",
1043 | " \n",
1044 | " 0 | \n",
1045 | " Mohammad Ibrahim SHINWARI | \n",
1046 | " Mohammed Ibrahim | \n",
1047 | "
\n",
1048 | " \n",
1049 | " 1 | \n",
1050 | " Mohamed AISSA | \n",
1051 | " Mohammed Al Issa | \n",
1052 | "
\n",
1053 | " \n",
1054 | " 2 | \n",
1055 | " Mohamed MEBARKI | \n",
1056 | " Mohamed Mansour | \n",
1057 | "
\n",
1058 | " \n",
1059 | " 3 | \n",
1060 | " Michael BROWNE | \n",
1061 | " Michael Otto | \n",
1062 | "
\n",
1063 | " \n",
1064 | " 4 | \n",
1065 | " Michael BROWNE | \n",
1066 | " Michael Rubin | \n",
1067 | "
\n",
1068 | " \n",
1069 | " 5 | \n",
1070 | " Christian PORTER | \n",
1071 | " Christian Oetker | \n",
1072 | "
\n",
1073 | " \n",
1074 | " 6 | \n",
1075 | " Christopher PYNE | \n",
1076 | " J. Christopher Reyes | \n",
1077 | "
\n",
1078 | " \n",
1079 | " 7 | \n",
1080 | " Christopher PYNE | \n",
1081 | " Christopher Hohn | \n",
1082 | "
\n",
1083 | " \n",
1084 | " 8 | \n",
1085 | " Christopher PYNE | \n",
1086 | " Christopher Cline | \n",
1087 | "
\n",
1088 | " \n",
1089 | " 9 | \n",
1090 | " Michael KEENAN | \n",
1091 | " Michael Kim | \n",
1092 | "
\n",
1093 | " \n",
1094 | "
\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 | " name | \n",
1178 | " name | \n",
1179 | "
\n",
1180 | " \n",
1181 | " \n",
1182 | " \n",
1183 | "
\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 | " name | \n",
1260 | " name | \n",
1261 | "
\n",
1262 | " \n",
1263 | " \n",
1264 | " \n",
1265 | " 0 | \n",
1266 | " Hamdullah MOHIB | \n",
1267 | " Pamela Mars | \n",
1268 | "
\n",
1269 | " \n",
1270 | " 1 | \n",
1271 | " Hamdullah MOHIB | \n",
1272 | " Harold Hamm | \n",
1273 | "
\n",
1274 | " \n",
1275 | " 2 | \n",
1276 | " Hamdullah MOHIB | \n",
1277 | " Samuel Yin | \n",
1278 | "
\n",
1279 | " \n",
1280 | " 3 | \n",
1281 | " Hamdullah MOHIB | \n",
1282 | " Kalanithi Maran | \n",
1283 | "
\n",
1284 | " \n",
1285 | " 4 | \n",
1286 | " Hamdullah MOHIB | \n",
1287 | " Saleh Kamel | \n",
1288 | "
\n",
1289 | " \n",
1290 | " 5 | \n",
1291 | " Hamdullah MOHIB | \n",
1292 | " Hamdi Ulukaya | \n",
1293 | "
\n",
1294 | " \n",
1295 | " 6 | \n",
1296 | " Hamdullah MOHIB | \n",
1297 | " Emanuella Barilla | \n",
1298 | "
\n",
1299 | " \n",
1300 | " 7 | \n",
1301 | " Hamdullah MOHIB | \n",
1302 | " Hamdi Akin | \n",
1303 | "
\n",
1304 | " \n",
1305 | " 8 | \n",
1306 | " Mohammad Farid HAMIDI | \n",
1307 | " Fahd Hariri | \n",
1308 | "
\n",
1309 | " \n",
1310 | " 9 | \n",
1311 | " Mohammad Farid HAMIDI | \n",
1312 | " Mikhail Fridman | \n",
1313 | "
\n",
1314 | " \n",
1315 | "
\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 | " name | \n",
1399 | " name | \n",
1400 | "
\n",
1401 | " \n",
1402 | " \n",
1403 | " \n",
1404 | " 0 | \n",
1405 | " KYAW TIN | \n",
1406 | " KO TAE HUN | \n",
1407 | "
\n",
1408 | " \n",
1409 | " 1 | \n",
1410 | " CHHAY THAN | \n",
1411 | " KO TAE HUN | \n",
1412 | "
\n",
1413 | " \n",
1414 | " 2 | \n",
1415 | " MIAO Wei | \n",
1416 | " M23 | \n",
1417 | "
\n",
1418 | " \n",
1419 | " 3 | \n",
1420 | " Aysha MOHAMMED | \n",
1421 | " JAISH-I-MOHAMMED | \n",
1422 | "
\n",
1423 | " \n",
1424 | " 4 | \n",
1425 | " Mamadi TOURE | \n",
1426 | " MAMADU TURE | \n",
1427 | "
\n",
1428 | " \n",
1429 | " 5 | \n",
1430 | " KIM Yong Chol | \n",
1431 | " KIM YONG CHOL | \n",
1432 | "
\n",
1433 | " \n",
1434 | " 6 | \n",
1435 | " PAK Yong Sik | \n",
1436 | " PAK YONG SIK | \n",
1437 | "
\n",
1438 | " \n",
1439 | " 7 | \n",
1440 | " RI Man Gon | \n",
1441 | " RI MAN GON | \n",
1442 | "
\n",
1443 | " \n",
1444 | " 8 | \n",
1445 | " RI Su Yong | \n",
1446 | " RI SU YONG | \n",
1447 | "
\n",
1448 | " \n",
1449 | " 9 | \n",
1450 | " JON Kyong Nam | \n",
1451 | " YO'N CHO'NG NAM | \n",
1452 | "
\n",
1453 | " \n",
1454 | "
\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 | " name | \n",
1855 | " full_name | \n",
1856 | "
\n",
1857 | " \n",
1858 | " \n",
1859 | " \n",
1860 | " 0 | \n",
1861 | " Raj Kumar SINGH | \n",
1862 | " Raj Kumar | \n",
1863 | "
\n",
1864 | " \n",
1865 | " 1 | \n",
1866 | " Tran Hong HA | \n",
1867 | " Tran Hong Ha | \n",
1868 | "
\n",
1869 | " \n",
1870 | " 2 | \n",
1871 | " Antonio Serifo EMBALO | \n",
1872 | " Antonio Neri | \n",
1873 | "
\n",
1874 | " \n",
1875 | " 3 | \n",
1876 | " Charles Richard MONDJO | \n",
1877 | " Charles Li | \n",
1878 | "
\n",
1879 | " \n",
1880 | " 4 | \n",
1881 | " Anthony Wayne Jerome PHILLIPS-SPENCER, Brig. G... | \n",
1882 | " Anthony Tan | \n",
1883 | "
\n",
1884 | " \n",
1885 | " 5 | \n",
1886 | " David Cruiser NGCAMPHALALA | \n",
1887 | " David Craig | \n",
1888 | "
\n",
1889 | " \n",
1890 | " 6 | \n",
1891 | " Michael Daniel HIGGINS | \n",
1892 | " Michael Ding | \n",
1893 | "
\n",
1894 | " \n",
1895 | " 7 | \n",
1896 | " Michael Tiangjiek MUT | \n",
1897 | " Michael Ryan | \n",
1898 | "
\n",
1899 | " \n",
1900 | " 8 | \n",
1901 | " Tran Tuan ANH | \n",
1902 | " Tran Tuan Anh | \n",
1903 | "
\n",
1904 | " \n",
1905 | " 9 | \n",
1906 | " James Gordon CARR | \n",
1907 | " James Gorman | \n",
1908 | "
\n",
1909 | " \n",
1910 | "
\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 |
--------------------------------------------------------------------------------