将年列转换为相应的年列

时间:2019-09-06 07:29:16

标签: python pandas

[[https://github.com/Shristigithub/Population/blob/master/population.csv]] 1 [https://i.stack.imgur.com/Bf64A.png] 2

请帮助我分别获得一个国家/地区名称和所有年份列。

我希望输出看起来像这样

enter image description here

2 个答案:

答案 0 :(得分:0)

这是您想要的吗?

import pandas as pd

df = pd.DataFrame({
  'id':['a','a','b','c','c'], 
  'words':['asd','rtr','s','rrtttt','dsfd']})
print(df)

zet = df.groupby('id')['words'].apply(','.join)
print(zet)

输出:

  id   words
0  a     asd
1  a     rtr
2  b       s
3  c  rrtttt
4  c    dsfd


id
a        asd,rtr
b              s
c    rrtttt,dsfd
Name: words, dtype: object

在您的情况下,可能是这样的:

sorted_output = df.groupby('coutry_name')['years'].apply(','.join)

答案 1 :(得分:0)

尝试以下代码,希望对您有所帮助。

考虑您的数据框架是这样的。

df = pd.DataFrame({'Date': [1,2,34,6,7,8,9],'values':[123,3454,6734,123,45,234,123]})

所以df就像:

    Date    values
0     1     123
1     2     3454
2     34    6734
3     6     123
4     7     45
5     8     234
6     9     123

现在首先进行转置,然后设置列值,如下所示:

df = df.transpose()
df.columns= df.iloc[0]
df

输出将为:

Date    1        2       34     6        7    8     9    <--- These are now columns headers
Date    1        2       34     6        7    8     9       
values  123     3454    6734    123     45  234     123