簡體   English   中英

熊貓數據框:將列中的日期轉換為行中的值

[英]Pandas dataframe: turn date in column into value in row

我正在嘗試打開以下數據框(具有縣和年份的值)

county  region     2012  2013  ...  2035
A       101        10    15    ...  7
B       101        13    8     ...  11
...

變成如下所示的數據框:

county  region   year  sum
A       101      2012  10
A       101      2013  15
...     ...      ...   ...
A       101      2035  7
B       101      2012  13
B       101      2013  8
B       101      2035  11

我當前的數據框有400行(不同的縣),其值是2012-2035年。

我的手動方法是將年份列切成片,然后將每一列放在上一年的最后一行下方。 但是,當然必須有一種Python方式。

我想我在這里缺少基本的熊貓概念,可能我只是找不到正確的答案,因為我根本不知道如何問正確的問題。 請對新來者保持溫和。

您可以使用熊貓melt

In [26]: df
Out[26]:
  county  region  2012  2013
0      A     101    10    15
1      B     101    13     8

In [27]: pd.melt(df, id_vars=['county','region'], var_name='year', value_name='sum')
Out[27]:
  county  region  year  sum
0      A     101  2012   10
1      B     101  2012   13
2      A     101  2013   15
3      B     101  2013    8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM