Я пытаюсь создать DataFrame со следующим:Python 3.4, ошибка при создании DataFrame с пандой
from pandas import DataFrame, read_csv
import matplotlib.pyplot as plt
import pandas as pd
import sys
# The inital set of baby names and birth rates
names =['Bob','Jessica','Mary','John','Mel']
births = [968, 155, 77, 578, 973]
#Now we wil zip them together
BabyDataSet = zip(names,births)
##we have to add the 'list' for version 3.x
print (list(BabyDataSet))
#create the DataFrame
df = DataFrame(BabyDataSet, columns = ['Names', 'Births'])
print (df)
, когда я запускаю программу, я получаю следующее сообщение об ошибке: «тип данных не может быть итератор ' Я читал следующее:' What does the "yield" keyword do in Python? ', но я не понимаю, как это относится к тому, что я делаю. Будем очень благодарны за любую помощь и дальнейшее понимание.
Я подумал, что может это исправить, но это только дало мне другую ошибку, «форма переданных значений (0,0), индексы следует (2,0) Так я думал, что я делаю неправильно. Может ли это указать на проблему с моим файлом pandas? –
Я считаю, что проблема заключается в том, что BabyDataSet создается в качестве генератора, поэтому строка 'print (list (BabyDataSet))' есть '. Помните, что генераторы могут повторяться только один раз. Просто удалите эту строку, чтобы исправить это. Вероятно, вам следует сохранить его как список, когда вы его инициализируете, чтобы случайно не использовать генератор: 'BabyDataSet = list (zip (имена, роды))' –
@ rfan Это фиксировало вторую ошибку, и я смог создать мой df, благодаря вам обоим. :) p.s как мне добавить полезный комментарий? –