首页 > 解决方案 > 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) 

我在用:

我错过了什么?

标签: pythonpython-3.xanaconda

解决方案


您正在使用列表推导来调用 print。这将评估为 None 的列表(这是 print 的返回值)。


推荐阅读