新光人壽美添109建議書如下
若想了解IRR 5%的香港保單或其他台灣保單
複委託優惠或YTM超過6%的債券
請在此表單留下聯絡資料:
若您願意贊助我:
機構代號(391,一卡通),帳號:1501823311
FB粉絲團: 儲蓄保險王,
Line@: @wvr5039s,
Line社群: https://lihi1.com/MaSdv/blog
twitter: https://twitter.com/SavingKing925
以下的cashFlow.txt
副檔名.csv亦可,
內容就是逗點分隔檔
每列現金流狀況與建議書一致

程式碼:
import csv
import numpy_financial as npf
import numpy as np
base = 0.01 # 基準利率1%,隨便key的,不用認真
year_IRR = [(“Year”, “IRR”, “絕對利差”, “相對利差”)]
with open(r”C:\Python\example\csvreader\cashFlow.txt”, “r”) as f:
csvreader = csv.reader(f)
csvlst = [r for r in csvreader]
# print(csvlst) #2D list,且都為字串,非數字
# 以下雙層for迴圈,把字串都轉成數字
for r in range(len(csvlst)):
for c in range(len(csvlst[r])):
csvlst[r][c] = eval(csvlst[r][c])
for r in csvlst:
print(f”{r.index(r[-1])}年現金流:\n”, r)
# 看起來沒問題,元素都是數字
for row in csvlst:
csvAry = np.array(row)
myirr = round(npf.irr(csvAry), 4)
# round函數本身的問題,有的資料取小數點下4位失敗
rateDiff = myirr – base # 絕對利差
rateDiffRel = rateDiff/base # 相對利差
year = row.index(csvAry[-1])
yearStr = “%02d” % year
myirrStr = “%.2f %%” % (myirr*100)
rateDiffStr = “%.2f %%” % (rateDiff*100)
rateDiffRelStr = “%.2f %%” % (rateDiffRel*100)
tup = (yearStr, myirrStr, rateDiffStr, rateDiffRelStr)
year_IRR.append(tup)
for ele in year_IRR:
print(ele)
with open(r”C:\Python\example\csvreader\IRR_Calculate.csv”, “w”) as f2:
csv.writer(f2).writerows(year_IRR)
print(“資料已寫入IRR_Calculate.csv”)


輸出結果:


寫出的csv檔:



![Python: 如何使用pandas.to_numeric ( df[‘numbers’], errors=’coerce’) 將非數值型資料轉為NaN? df[‘numbers’].describe() 簡述統計資料 Python: 如何使用pandas.to_numeric ( df[‘numbers’], errors=’coerce’) 將非數值型資料轉為NaN? df[‘numbers’].describe() 簡述統計資料](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2024/05/20240501052102_0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


![Python: pandas.Series如何只保留str,去除重複值?#isinstance(x:Any, str) -> bool #.drop_duplicates() #Series.apply( function )逐元素應用function運算 #DataFrame.apply( function )逐Series應用function運算 .drop_duplicates() 跟.unique()有何差別? df.drop_duplicates() 等效於 df[~df.duplicated()] Python: pandas.Series如何只保留str,去除重複值?#isinstance(x:Any, str) -> bool #.drop_duplicates() #Series.apply( function )逐元素應用function運算 #DataFrame.apply( function )逐Series應用function運算 .drop_duplicates() 跟.unique()有何差別? df.drop_duplicates() 等效於 df[~df.duplicated()]](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2024/11/20241123194900_0_5218de.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

![Python Pandas GroupBy 的 size 陷阱:為什麼你的計數結果總是不對?如何計算重複次數? duplicates = df.duplicated( subset = [‘name’] ) Python Pandas GroupBy 的 size 陷阱:為什麼你的計數結果總是不對?如何計算重複次數? duplicates = df.duplicated( subset = [‘name’] )](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2025/06/20250609143758_0_53821c.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python: 如何在pandas.read_csv() or pandas.read_excel() 中使用keep_default_na =False , na_values =[] 保留文件中的原始“NA”? Python: 如何在pandas.read_csv() or pandas.read_excel() 中使用keep_default_na =False , na_values =[] 保留文件中的原始“NA”?](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2024/05/20240530215737_0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


近期留言