Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中为来自另一个数据帧的新数据帧赋值_Python_Pandas_Dataframe - Fatal编程技术网

如何在python中为来自另一个数据帧的新数据帧赋值

如何在python中为来自另一个数据帧的新数据帧赋值,python,pandas,dataframe,Python,Pandas,Dataframe,我设置了一个新的数据框SimMean: 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

我设置了一个新的数据框SimMean:

    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
我有另一个数据帧FwdDf:

    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
现在我需要将FwdDf中第12行到第23行的“期限”数据分配给新的数据帧SimMean

我曾经

    SimMean.loc[0:11,'Tenor'] = FwdDf.loc [12:23,'Tenor']
但它不起作用:

    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

我是python新手。谢谢你的帮助。谢谢

呼叫
。值
,因此没有索引对齐问题:

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
编辑

由于您的列实际上是
datetime
,因此需要再次转换类型:

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

谢谢我似乎有问题,因为期限数据是datetimeFwdDf.loc[12:23,'期限']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姓名:期限,数据类型:datetime64[ns]”所以当我编写代码时,新的数据帧类似于“伊曼男高音5x16 7x8 2x16H 0 151476480000000000楠楠楠1 15174432000000000000楠楠楠2 1519862400000000000楠楠楠3 152254080000000000楠楠楠4 152513280000000000楠楠楠楠5 1527811200000000楠楠楠楠楠6 15304032000000000000楠楠楠楠楠楠楠楠楠楠4NaN 7 1533081600000000000 NaN NaN NaN 8 153576000000000000 NaN NaN NaN NaN 9 153835200000000000000 NaN NaN NaN NaN 10 15410304000000000 NaN NaN NaN NaN 11 1543622400000000000 NaN NaN NaN's将这些值视为不兼容的类型您需要再次转换它,更新通常你会编辑你的问题,这样格式就不会丢失无需担心,记住接受我的答案一旦它允许你,我的答案左上角会有一个空的勾号,这样这个问题就不会一直没有答案