我遇到了莫名其妙的语法错误(python),但是我单独把问题行提出来运行又是可以的。。就很奇怪

import pandas as pd

import numpy as np

import math as m

import os

import datetime as dt


 

root = 'E:/潘老师项目/MONTH_IVOL_SMAX_DATA_FINAL1250_250'

root2 = 'E:/潘老师项目/STK_MKT_FIVEFACMONTH.csv'

root_file = os.listdir(root)

 

df_5FACTORS = pd.read_csv(root2,converters={'TradingMonth':str})


 

DOUBLE_RANK_BAC = pd.DataFrame(columns=['LAMX','DATE'],index=range(0,178))

 

G1 = G2 = pd.DataFrame()

 

p80 = 0

p30_coef_G1 = 0

p30_coef = p70_coef = p60_coef = p80_coef = 0


 

for n in range(0,1):

    df = pd.read_csv(root + '/'+ root_file[n],converters={'Stkcd':str})  

    if df.empty == False: 

        DOUBLE_RANK_BAC.loc[n,'DATE'] = str(root_file[n])

 

        p80 = np.percentile(df['Msmvosd'],80)

 

        G2 = df[df['Msmvosd'] >= p80].sort_values(by=['MAX_t1']).reset_index()

 

        G1 = df[df['Msmvosd'] <= p80].sort_values(by=['MAX_t1']).reset_index()

        p30_coef_G2 = np.percentile(G2['MAX_t1'],30)

        p70_coef_G2 = np.percentile(G2['MAX_t1'],70)

 

        LOW_MAX_BIG = G2[(G2['MAX_t1'] < p30_coef_G2)].reset_index()

        

 

        HIGH_MAX_BIG = G2[(G2['MAX_t1'] >= p70_coef_G2).reset_index()

 

        p30_coef_G1 = np.percentile(G1['MAX_t1'],30)

        p70_coef_G1 = np.percentile(G1['MAX_t1'],70)

        

        LOW_MAX_SMALL = G1[(G1['MAX_t1'] < p30_coef_G1)].reset_index()

        

        HIGH_MAX_SMALL = G1[(G1['MAX_t1'] >= p70_coef_G1).reset_index()


 

        LMAX = np.array(LOW_MAX_BIG['Mretnd_t1'] + LOW_MAX_SMALL['Mretnd_t1']).mean() - HIGH_MAX_BIG['Mretnd_t1'] + HIGH_MAX_SMALL['Mretnd_t1']).mean()

 

        DOUBLE_RANK_BAC.loc[n,'LMAX'] = LMAX[0]



 

        DOUBLE_RANK_BAC = DOUBLE_RANK_BAC.dropna(0)


 

        print(n)


 

DATE = list(DOUBLE_RANK_BAC['DATE'])

 

for n1 in DATE:

    k1.append(df_5FACTORS[df_5FACTORS['TradingMonth'] == str(n1)].RiskPremium1.values[0])

    k2.append(df_5FACTORS[df_5FACTORS['TradingMonth'] == str(n1)].SMB1.values[0])

    k3.append(df_5FACTORS[df_5FACTORS['TradingMonth'] == str(n1)].HML1.values[0])

    k4.append(df_5FACTORS[df_5FACTORS['TradingMonth'] == str(n1)].RMW1.values[0])

    k5.append(df_5FACTORS[df_5FACTORS['TradingMonth'] == str(n1)].CMA1.values[0])



 

n_market = pd.DataFrame()

n_market['DATE'] = DATE

n_market['RiskPremium1'] = k1

n_market['SMB1'] = k2

n_market['HML1'] = k3

n_market['RMW1'] = k4

n_market['CMA1'] = k5

 

n_market = n_market.sort_values(by=['DATE'])

 

DOUBLE_RANK_BAB = DOUBLE_RANK_BAB.sort_values(by=['DATE'])

 

DOUBLE_RANK_BAC = DOUBLE_RANK_BAC.drop(['DATE'], axis=1)

 

DOUBLE_RANK_BAC.to_csv('E:/潘老师项目/LMAX_IVOL_SMAX_FF3_std250__corrcoef1250_MONTH.csv')

 

n_market.to_csv('E:/潘老师项目/LMAX_SMAX_IVOL_FF5_月_1250CORR_250STD.csv')

所有的目录和文件名都用英文,试试看。