2016-03-29 5 views
3

mich auf einen neuen Datenrahmen SimMean Werte zu einem neuen Datenrahmen von einem anderen Datenrahmen zuzuordnen: Iwie in Python

FwdDf 
      Tenor 5x16 7x8 2x16H 
    0 2017-01-01 50.94 34.36 43.64 
    1 2017-02-01 50.90 32.60 42.68 
    2 2017-03-01 42.66 26.26 37.26 
    3 2017-04-01 37.08 22.65 32.46 
    4 2017-05-01 42.21 20.94 33.28 
    5 2017-06-01 39.30 22.05 32.29 
    6 2017-07-01 50.90 21.80 38.51 
    7 2017-08-01 42.77 23.64 35.07 
    8 2017-09-01 37.45 19.61 32.68 
    9 2017-10-01 37.55 21.75 32.10 
    10 2017-11-01 35.61 22.73 32.90 
    11 2017-12-01 40.16 29.79 37.49 
    12 2018-01-01 53.45 36.09 47.61 
    13 2018-02-01 52.89 35.74 45.00 
    14 2018-03-01 44.67 27.79 38.62 
    15 2018-04-01 38.48 24.21 34.43 
    16 2018-05-01 43.87 22.17 34.69 
    17 2018-06-01 40.24 22.85 34.31 
    18 2018-07-01 49.98 23.58 39.96 
    19 2018-08-01 45.57 24.76 37.23 
    20 2018-09-01 38.90 21.74 34.22 
    21 2018-10-01 39.75 23.36 35.20 
    22 2018-11-01 38.04 24.20 34.62 
    23 2018-12-01 42.68 31.03 40.00 

jetzt:

columns = ['Tenor','5x16', '7x8', '2x16H'] 
    index = range(0,12) 
    SimMean = pd.DataFrame(index=index, columns=columns) 

    SimMean 
     Tenor 5x16 7x8 2x16H 
    0 NaN NaN NaN NaN 
    1 NaN NaN NaN NaN 
    2 NaN NaN NaN NaN 
    3 NaN NaN NaN NaN 
    4 NaN NaN NaN NaN 
    5 NaN NaN NaN NaN 
    6 NaN NaN NaN NaN 
    7 NaN NaN NaN NaN 
    8 NaN NaN NaN NaN 
    9 NaN NaN NaN NaN 
    10 NaN NaN NaN NaN 
    11 NaN NaN NaN NaN 

Ich habe eine anderen Datenrahmen FwdDf müssen die "Tenor" -Daten von Zeile 12 bis Zeile 23 in FwdDf dem neuen Datenrahmen SimMean zuweisen.

benutzte ich

SimMean.loc[0:11,'Tenor'] = FwdDf.loc [12:23,'Tenor'] 

aber es hat nicht funktioniert:

SimMean 
     Tenor 5x16 7x8 2x16H 
    0 None NaN NaN NaN 
    1 None NaN NaN NaN 
    2 None NaN NaN NaN 
    3 None NaN NaN NaN 
    4 None NaN NaN NaN 
    5 None NaN NaN NaN 
    6 None NaN NaN NaN 
    7 None NaN NaN NaN 
    8 None NaN NaN NaN 
    9 None NaN NaN NaN 
    10 None NaN NaN NaN 
    11 None NaN NaN NaN 

ich Python neu bin. Ich würde Ihre Hilfe schätzen. Dank

Antwort

1

Anruf .values so gibt es keine Index Ausrichtungsprobleme:

In [35]: 
SimMean.loc[0:11,'Tenor'] = FwdDf.loc[12:23,'Tenor'].values 
SimMean 

Out[35]: 
     Tenor 5x16 7x8 2x16H 
0 2018-01-01 NaN NaN NaN 
1 2018-02-01 NaN NaN NaN 
2 2018-03-01 NaN NaN NaN 
3 2018-04-01 NaN NaN NaN 
4 2018-05-01 NaN NaN NaN 
5 2018-06-01 NaN NaN NaN 
6 2018-07-01 NaN NaN NaN 
7 2018-08-01 NaN NaN NaN 
8 2018-09-01 NaN NaN NaN 
9 2018-10-01 NaN NaN NaN 
10 2018-11-01 NaN NaN NaN 
11 2018-12-01 NaN NaN NaN 

EDIT

Als Ihre Spalte tatsächlich ist datetime dann müssen Sie wieder den Typ umwandeln:

In [46]: 
SimMean['Tenor'] = pd.to_datetime(SimMean['Tenor']) 
SimMean 

Out[46]: 
     Tenor 5x16 7x8 2x16H 
0 2018-01-01 NaN NaN NaN 
1 2018-02-01 NaN NaN NaN 
2 2018-03-01 NaN NaN NaN 
3 2018-04-01 NaN NaN NaN 
4 2018-05-01 NaN NaN NaN 
5 2018-06-01 NaN NaN NaN 
6 2018-07-01 NaN NaN NaN 
7 2018-08-01 NaN NaN NaN 
8 2018-09-01 NaN NaN NaN 
9 2018-10-01 NaN NaN NaN 
10 2018-11-01 NaN NaN NaN 
11 2018-12-01 NaN NaN NaN 
+0

Vielen Dank! Es scheint, ich habe Probleme, weil die Tenor-Daten Datetime sind. 'FwdDf.loc [12: 23', Tenor '] 12 2018-01-01 13 2018-02-01 14 2018-03-01 15 2018-04-01 16 2018-05-01 17 2018-06-01 18 2018-07-01 19 2018-08-01 20 2018-09-01 21 2018-10-01 22 2018-11-01 23 2018-12-01 Name: Tenor, dtype: datetime64 [ns] – hassISC

+0

Also, wenn ich Ihren Code haben, der neue Datenrahmen ist wie 'imMean Tenor 5x16 7x8 2x16H 0 1514764800000000000 NaN NaN 1 1517443200000000000 NaN NaN 2 1519862400000000000 NaN NaN 3 1522540800000000000 NaN NaN NaN 4 1525132800000000000 NaN NaN NaN 5 1527811200000000000 NaN NaN NaN 6 1530403200000000000 NaN NaN NaN 7 1533081600000000000 NaN NaN NaN 8 1535760000000000000 NaN NaN NaN 9 1538352000000000000 NaN NaN NaN 10 1541030400000000000 NaN NaN NaN 11 1533622400000000000 NaN NaN NaN ' – hassISC

+0

Es ist die Werte als inkompatible Art genommen müssen Sie es erneut konvertieren, wird – EdChum