Python для того, чтобы распечатать позицию и имя столбца в кадре данных - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь использовать вложенное для распечатки позиции и имени столбца в кадре данных . Я делаю это, потому что .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] 

Если я использую цикл for с выводом на печать, то как я и ожидал.

for (e,col) in enumerate(df.columns):
   print(e,"->",col) 

Я использую:

  • Anaconda 5.1.0 build py36_2
  • Анаконда-клиент 1.6.9
  • Анаконда-навигатор 1.7.0
  • Браузер: Opera 52.0.2871.99

Что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Когда вы пишете

[print(e,"->",col) for e,col in enumerate(df.columns)]

Вы выполняете понимание списка. Во время печати вы также создаете список. Так как функция печати возвращает None, вы в конечном итоге создаете список типов None. Это то, что вы видите в конце.

0 голосов
/ 17 мая 2018

Вы используете понимание списка, чтобы вызвать печать.Это приводит к списку None (который является возвращаемым значением для печати).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...