熊猫数据框列中的单独行

时间:2018-07-25 15:13:21

标签: pandas dataframe

我有这个数据框:

import pandas as pd
import numpy as np
import datetime

def creatingDataFrame():

    dateList=[]
    dateList.append(datetime.date(2002,1,1))
    dateList.append(datetime.date(2002,2,1))
    dateList.append(datetime.date(2002,1,1))
    dateList.append(datetime.date(2002,1,1))
    dateList.append(datetime.date(2002,2,1))



    raw_data = {'Date': dateList,            
                'Company': ['A', 'B', 'B', 'C' , 'C'],                
                'var1': [10, 20, 30, 40 , 50]}

    df = pd.DataFrame(raw_data, columns = ['Date','Company', 'var1'])
    df.loc[1, 'var1'] = np.nan
    return df


if __name__=="__main__":
    df=creatingDataFrame()
    print(df)
         Date Company  var1
0  2002-01-01       A  10.0
1  2002-02-01       B   NaN
2  2002-01-01       B  30.0
3  2002-01-01       C  40.0
4  2002-02-01       C  50.0        

我想在以下数据框中转换此数据:

        Date      A   B   C
0  2002-01-01     10  30 40
1  2002-02-01     NaN NaN 50

我看到这样做的唯一方法是通过每个公司的筛选并合并每个结果,但是必须有一种简单的方法来做到这一点(?)。

1 个答案:

答案 0 :(得分:1)

使用pivot

df.pivot(index='Date', columns='Company', values='var1')

Company        A     B     C
Date                        
2002-01-01  10.0  30.0  40.0
2002-02-01   NaN   NaN  50.0