python - python嵌套用于打印数据框中列的位置和名称
问题描述
我正在尝试使用嵌套的 for 打印出数据框中列的位置和名称。我这样做是因为 .csv 包含 185 列,并且发现更容易打印出 0 -> columnName。
使用此代码:
df = pd.read_csv('./data.csv', encoding='utf_8', usecols=[0,1,2,3,4])
[print(e,"->",col) for e,col in enumerate(df.columns)]
我试图得到这个输出:
0 -> colName0
1 -> colName1
2 -> colName2
3 -> colName3
4 -> colName4
但是,这就是我得到的
0 -> colName0
1 -> colName1
2 -> colName2
3 -> colName3
4 -> colName4
[None,
None,
None,
None,
None]
如果我在输出中使用带有 print 的 for 循环,这就是我所期望的。
for (e,col) in enumerate(df.columns):
print(e,"->",col)
我在用:
- Anaconda 5.1.0 构建 py36_2
- Anaconda 客户端 1.6.9
- Anaconda 导航器 1.7.0
- 浏览器:Opera 52.0.2871.99
我错过了什么?
解决方案
您正在使用列表推导来调用 print。这将评估为 None 的列表(这是 print 的返回值)。
推荐阅读
- python - 如何从 IPStack 中抓取 time_zone?
- r - 如何在新数据上使用构建分类器(基于词嵌入)进行情感分析?
- ios - 不透明度在情节提要中不起作用
- xml - Pentaho - XPath 选择具有特定父级的所有子级
- linux - 在 Jenkins 中执行 shell 命令无法识别管道字符
- javascript - 如何用多个 d.ts 文件描述现有的 JS 库,并使用 NPM 将其导出
- php - 无法从 MSSQL 数据库 PHP 获取类型 TEXT
- javascript - 如何在一个href中传递两个字符串值
- c# - 如何在 CosmosOS 中保存数据?
- php - 将值和数组添加到 PDO 执行方法