我有一个Pandas数据框。我想在特定位置添加新行,例如第一排之后。而且我希望仅使用第一行和第二行中的值来分配新行中的单元格的值,但是仅当两行中的值都不为零时才指定。
States Andhra Pradesh Bihar Chhattisgarh Delhi
1973-74 50.67 56.01 0 60.99
1977-78 69.66 57.45 0 95.85
1983 115.4 93.75 100 217.14
1993-94 288.7 218.3 130 605.22
import pandas as pd
import math
data1= pd.read_excel('C:\\Users\\3004\\Desktop\\Variables.xlsx',3,index_col = 0)
data1.loc[8] = math.exp(math.log(data1.loc['1977-78']/data1.loc['1973-74'])/4)*data1.loc['1973-74']
预期输出:
States Andhra Pradesh Bihar Chhattisgarh Delhi
1973-74 50.67 56.01 0 60.99
1975 54.87 56.37 0 68.29
1977-78 69.66 57.45 0 95.85
1983 115.4 93.75 100 217.14
1993-94 288.7 218.3 130 605.22
第1975行的第一个值为“ EXP(LN(69.66 / 50.67)/ 4)* 50.57”
但是,我收到一条错误消息"TypeError: cannot convert the series to <class 'float'>"