Пустой DataFrame при переносе из другого фрейма данных - PullRequest
0 голосов
/ 15 мая 2018

Я создаю новый фрейм данных, используя несколько столбцов из существующего фрейма данных.

 eventdata1 = pd.DataFrame({
    "competition":eventdata['competition'],
    "hometeam":eventdata['hometeam_team1'],
    "awayteam":eventdata['awayteam_team2'],
    "team":eventdata['Team Against'],
    "MatchDateTime":eventdata['matchdatetime'],
    "EventDateTime":eventdata['eventdatetime'],
    "PreviousEventDateTime":eventdata['PreviousEventTime'],
    "Goal_Flag":eventdata['Goal_Flag']},
    columns =[['competition',
    'hometeam',
    'awayteam',
    'team',
    'MatchDateTime',
    'EventDateTime',
    'PreviousEventDateTime',
    'Goal_Flag']])

Оказалось, что все столбцы пусты, кроме столбца индекса.eventdata - это существующий фрейм данных, а eventadata1 - это тот, который я создаю сейчас.Предложение очень ценится.Спасибо Zep.

Ответы [ 3 ]

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

Вы можете просто так сделать,

eventdata1=eventdata[['competition',
    'hometeam',
    'awayteam',
    'team',
    'MatchDateTime',
    'EventDateTime',
    'PreviousEventDateTime',
    'Goal_Flag']]
0 голосов
/ 15 мая 2018

Используйте rename, а затем фильтруйте по подмножеству:

columns =['competition',
    'hometeam',
    'awayteam',
    'team',
    'MatchDateTime',
    'EventDateTime',
    'PreviousEventDateTime',
    'Goal_Flag']

d = {'hometeam_team1': 'hometeam', 
     'awayteam_team2':'awayteam', 
     'Against':'team',
     'matchdatetime':'MatchDateTime',
     'eventdatetime':'EventDateTime',
     'PreviousEventTime':'PreviousEventDateTime'}
eventdata1 = eventdata.rename(columns=d)[columns]
0 голосов
/ 15 мая 2018

Попробуйте это;

eventdata1=pd.DataFrame()
my_columns =['competition',
    'hometeam',
    'awayteam',
    'team',
    'MatchDateTime',
    'EventDateTime',
    'PreviousEventDateTime',
    'Goal_Flag']
for col in my_columns:
    eventdata1[col]=eventdata[col]

Есть более элегантное решение, но вышесказанное, безусловно, работает. Вы также можете попробовать;

eventdata1=pd.DataFrame(eventdata[my_columns])

Best!

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