我有以下数据框:
dictionary = {'Year': [1985, 1985, 1986, 1986, 1987, 1987], 'Wteam' :[1, 2, 3, 4, 5, 6], 'lteam': [ 9, 10, 11, 12, 13, 14] }
pdf = pd.DataFrame(dictionary)
Wteam Year lteam
0 1 1985 9
1 2 1985 10
2 3 1986 11
3 4 1986 12
4 5 1987 13
5 6 1987 14
我需要以下列格式创建一个新数据框:
team values predicted_value
1985_1_9 1
1985_2_10 1
1986_3_11 1
1986_4_12 1
1987_5_13 1
1987_6_13 1
我的新数据框的值应采用此格式" year_Wteam_lteam"。我如何在熊猫中做到这一点。预测值列始终为1.
答案 0 :(得分:4)
您可以执行以下操作:
final = pd.DataFrame()
final['team values'] = pdf['Year'].astype('str') + '_' + pdf['Wteam'].astype('str') + '_' + pdf['lteam'].astype('str')
final['predicted_value'] = 1
答案 1 :(得分:0)
不创建新数据框的一种方法是:
In [15]: pdf['team values'] = pdf.apply(lambda row: str(row['Year'])+'_'+ str(row['Wteam'])+'_'+str(row['lteam']), axis=1)
In [16]: pdf['predicted_value'] = 1
In [17]: pdf.drop(['Wteam','Year','lteam'],axis=1,inplace=True)
In [18]: print pdf.head()
team values predicted_value
0 1985_1_9 1
1 1985_2_10 1
2 1986_3_11 1
3 1986_4_12 1
4 1987_5_13 1