需求:將csv檔案中的值為-8888的因子值替換為當日全市場因子的中值
原始資料:
解析:實現:
import pandas as pd
def filter2median(invalid_number):
with open(r'c:\users\administrator\documents\wechat files\xzr8510776\filestorage\file\2019-04\test.csv',
encoding="utf-8") as f:
df = pd.read_csv(f)
feature_list = df.columns.tolist()[2:]
median = df.groupby(df['date']).median()
# for index in df.index:
# date = df.loc[index, 'date']
# for feature in feature_list:
# if df.loc[index, feature] == invalid_number:
# df.loc[index, feature] = media.loc[date][feature]
for feature in feature_list:
df.loc[df[feature] == invalid_number, feature] = median.loc[
df.loc[df[feature] == invalid_number, 'date'], feature].tolist()
print(df)
# df.to_csv("r.csv")
if __name__ == '__main__':
filter2median(-8888)
結果:
python DataFrame合併方法
python 合併dataframe方法 dataframe.merge left,right,how inner on none,left on none,right on none,left index false,right index false,sort false,suffixes x ...
Python Dataframe 兩列相除
import pandas as pd df pd.read csv 離線資料.csv 新建乙個dataframe df data pd.dataframe columns 總數 人數 平均值 df data 總數 人數 df df data 平均值 df data.lambda x x 總數 x ...
python DataFrame匯出到檔案
outputpath d users chen lib desktop fenci.csv df.to csv outputpath,sep index false,header false 2.dataframe匯出到xlsx檔案 outputpath d users chen lib deskt...