如何用Pandas创建展示列及其唯一值的DataFrame
使用Pandas生成展示各列唯一值的DataFrame
如果你想生成像示例中那样、重复列值用空值替代的DataFrame,方便快速浏览各列的唯一值分布,可以用以下方法实现:
原始数据构造
先还原你的示例数据:
import pandas as pd data = { 'State': ['Colorado', 'Colorado', 'Colorado', 'Colorado'], 'County': ['Denver', 'El Paso', 'Larimar', 'Larimar'], 'City': ['Denver', 'Colorado Springs', 'Fort Collins', 'Loveland'] } df = pd.DataFrame(data)
核心处理代码
遍历每一列,用duplicated()标记重复值,再通过where()将重复值替换为空字符串:
for col in df.columns: df[col] = df[col].where(~df[col].duplicated(), '')
处理后结果
执行代码后得到的DataFrame如下:
| State | County | City |
|---|---|---|
| Colorado | Denver | Denver |
| El Paso | Colorado Springs | |
| Larimar | Fort Collins | |
| Loveland |
这个方法逻辑很直接:df[col].duplicated()返回布尔序列,标记该列中除首次出现外的重复行;~取反后,where()方法保留非重复行的原始值,重复行替换为空,完全匹配你想要的展示效果。
内容的提问来源于stack exchange,提问作者trey hannam
相关产品推荐
相关产品推荐

