Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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_Duplicates - Fatal编程技术网

复制python中每个组的最后一行

复制python中每个组的最后一行,python,pandas,dataframe,duplicates,Python,Pandas,Dataframe,Duplicates,我有两个表格,第一个是贷款的期限结构,第二个是贷款的利息。x年后,贷款被转移到固定利率结构上(现实世界正好相反,但这就是我目前正在处理的问题)。我的合并表并不总是有相同的行数,因此,在每个条目的末尾都有一个空白行数 表1(左表): 表2(右表): 我希望将右表的最后一行(按条目)扩展为左表的长度(按条目) 表2(新的右表): 我试图修改下面的代码,使其只使用最后一行(参考最后给出的问题),但我收到了一条错误消息 原始代码是 df = df.loc[df.index.repeat(df['Room

我有两个表格,第一个是贷款的期限结构,第二个是贷款的利息。x年后,贷款被转移到固定利率结构上(现实世界正好相反,但这就是我目前正在处理的问题)。我的合并表并不总是有相同的行数,因此,在每个条目的末尾都有一个空白行数

表1(左表):

表2(右表):

我希望将右表的最后一行(按条目)扩展为左表的长度(按条目)

表2(新的右表):

我试图修改下面的代码,使其只使用最后一行(参考最后给出的问题),但我收到了一条错误消息

原始代码是

df = df.loc[df.index.repeat(df['RoomNights'])]
自适应正在尝试将loc更改为iloc,并选择最后一行以通过新的时间进行复制

len(left_table)
len(right_table)
if len(right_table) < len(left_table) + 4:
    new_len = len(left_table) + 4

right_table = right_table.iloc[right_table[-1,:].index.repeat(new_len)]
你可以做:

df1.merge(df2, how='left').fillna(method='ffill')
输出:

   period  Cash flow  interest rate
0       1        400           0.05
1       2        400           0.10
2       3        400           0.10
3       4        400           0.10
len(left_table)
len(right_table)
if len(right_table) < len(left_table) + 4:
    new_len = len(left_table) + 4

right_table = right_table.iloc[right_table[-1,:].index.repeat(new_len)]
TypeError: unhashable type: 'slice'
df1.merge(df2, how='left').fillna(method='ffill')
   period  Cash flow  interest rate
0       1        400           0.05
1       2        400           0.10
2       3        400           0.10
3       4        400           0.10