合并多个熊猫数据帧的pythonic / pandas方式是什么? ATM我用循环来做,但感觉不对:
我有三个带有信用运行时的数据框,所有数据框都有一个<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="box" id="box1">Box 1</div>
<div class="box" id="box2">Box 2</div>
<div class="box" id="box3">Box 3</div>
<div class="box" id="box4">Box 4</div>
<div class="box" id="box5">Box 5</div>
<div class="box" id="box6">Box 6</div>
<div class="box" id="box7">Box 7</div>
<div class="box" id="box8">Box 8</div>
<div class="box" id="box9">Box 9</div>
<div class="box" id="box10">Box 10</div>
<div class="box" id="box11">Box 11</div>
<div class="box" id="box12">Box 12</div>
<div class="box" id="box13">Box 13</div>
<div class="box" id="box14">Box 14</div>
<div class="box" id="box15">Box 15</div>
<div class="box" id="box16">Box 16</div>
<div class="box" id="box17">Box 17</div>
<div class="box" id="box18">Box 18</div>
<div class="box" id="box19">Box 19</div>
<div class="box" id="box20">Box 20</div>
,interest
和liquidation
字段。积分具有不同的运行时间(例如,不同的行)。
这是一个学分的样本。
date
我想计算所有学分的总燃耗。
那是:
amount annuity date int. int. % liq. liq. % special_payment
0 50,000.00 135.42 2016-09-01 52.08 1.25 83.33 2.00 0
1 49,916.67 135.42 2016-10-01 52.00 1.25 83.42 2.00 0
2 49,833.25 135.42 2016-11-01 51.91 1.25 83.51 2.00 0
3 49,749.74 135.42 2016-12-01 51.82 1.25 83.59 2.00 0
4 49,666.15 135.42 2017-01-01 51.74 1.25 83.68 2.00 0
如果信用额度未在指定日期运行,则[interest + liquidation of credit 1] +
[interest + liquidation of credit 2] +
[interest + liquidation of credit 3]
+ interest
应该为零。
我是大熊猫的新手,因此我希望能够就如何处理这类问题提供一些见解。
答案 0 :(得分:3)
我认为你可以使用concat,但是你需要添加axis=1
。我认为您需要使用keys
参数,以便能够区分具有相同名称的不同信用的列。
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.rand(4,4),columns=['a','b','c','d'])
df2 = pd.DataFrame(np.random.rand(4,4),columns=['a','b','c','d'])
df3 = pd.concat([df1,df2],axis=1,keys=['Credit1','Credit2'])
要添加不同列中的数字,请使用,例如
burnrate = df3['Credit1','a']+df3['Credit2','a']