如何读取 csv 文件中下一行的信息以执行资产增长计算
How to Read information on the next line in csv file to perform calculation of Asset Growth
comp = pd.read_csv('C:/Users/naitm/Desktop/python coding/FFM5/Question 1-1/5_factor_merge.csv')
# Create book equity --> Book value of equity cannot be negative
comp['be'] = comp['seq'] + comp['txditc'] - comp['ps']
comp['be'] = np.where(comp['be'] > 0, comp['be'], np.nan)
# Create operating profitability = total revenue - cost of goods sold - sell expense - admin expense
#/ book equity
comp['op'] = (comp['revt'] - comp['cogs'] - comp['xsga'] - comp['xint']) / comp['be']
这些有效,因为所有单元格信息都在同一行中。但是我需要计算资产增长,它在同一当前行,但在同一家公司的下一行。如何访问下一行或上一行的那个?该字段是 'at' 所以我需要:
comp['ag'] = (comp['at']-comp['at'])/comp['at'] #第一个是下一行,第二个是当前行,第三个是
下一行
我知道这不是答案,只是为了帮助您说明 shift() 的工作原理。
import pandas as pd
df = pd.DataFrame({'A':[1,2,3,4,5]})
df['B'] = df.A.shift(1)
df['C'] = df.A.shift(-1)
print (df)
A B C
0 1 NaN 2.0 # <--- value of B is NaN as shift of prev row is NaN
1 2 1.0 3.0
2 3 2.0 4.0
3 4 3.0 5.0
4 5 4.0 NaN # <--- value of C is NaN as shift of next row is NaN
comp = pd.read_csv('C:/Users/naitm/Desktop/python coding/FFM5/Question 1-1/5_factor_merge.csv')
# Create book equity --> Book value of equity cannot be negative
comp['be'] = comp['seq'] + comp['txditc'] - comp['ps']
comp['be'] = np.where(comp['be'] > 0, comp['be'], np.nan)
# Create operating profitability = total revenue - cost of goods sold - sell expense - admin expense
#/ book equity
comp['op'] = (comp['revt'] - comp['cogs'] - comp['xsga'] - comp['xint']) / comp['be']
这些有效,因为所有单元格信息都在同一行中。但是我需要计算资产增长,它在同一当前行,但在同一家公司的下一行。如何访问下一行或上一行的那个?该字段是 'at' 所以我需要: comp['ag'] = (comp['at']-comp['at'])/comp['at'] #第一个是下一行,第二个是当前行,第三个是 下一行
我知道这不是答案,只是为了帮助您说明 shift() 的工作原理。
import pandas as pd
df = pd.DataFrame({'A':[1,2,3,4,5]})
df['B'] = df.A.shift(1)
df['C'] = df.A.shift(-1)
print (df)
A B C
0 1 NaN 2.0 # <--- value of B is NaN as shift of prev row is NaN
1 2 1.0 3.0
2 3 2.0 4.0
3 4 3.0 5.0
4 5 4.0 NaN # <--- value of C is NaN as shift of next row is NaN