Поворот фрейма данных, чтобы конкретные даты, которые были в столбцах, стали строками

#pandas #dataframe #pivot #reindex

#pandas #фрейм данных #поворот #переиндексация

Вопрос:

У меня есть фрейм данных, который содержит даты в виде большинства столбцов со следующей структурой:

 df1 = pd.DataFrame({'State':['NY', 'CA'], '3/1/20' :[5, 10], '3/2/20': [11, 13], '3/3/20': [4, 12]})
  

и я хочу «повернуть» фрейм данных, чтобы он теперь был в этом формате:

 df2 = pd.DataFrame({'Date':['3/1/20','3/1/20','3/2/20','3/2/20','3/3/20','3/1/20'], 'State':['NY', 'CA', 'NY', 'CA','NY', 'CA'], 'Values':[5,10,11,13,4,12]})
  

У кого-нибудь есть какие-либо предложения о том, как это сделать? Спасибо!

Комментарии:

1. См. pd.melt .

2. df1.melt('State' ) ?

3. Это работает, Генри и Куанг, большое спасибо!

Ответ №1:

Используйте pd.melt

 df2 = pd.melt(df1, id_vars=['State']).rename(columns={'variable':'Date','value':'number'})