Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import pandas as pd
- def load_csv():
- return pd.read_csv("H:\Misc\MSc\Data\ForDiscrete.csv")
- def create_quartiles(df):
- curr_df = df
- for each_variable in curr_df:
- values = curr_df[each_variable]
- # find quartiles
- Q1 = np.percentile(values,25)
- Q2 = np.percentile(values,50)
- Q3 = np.percentile(values,75)
- # replace values with quartile range
- factor_df = pd.DataFrame(curr_df[each_variable])
- for index,row in factor_df.iterrows():
- if float(row) <= Q1:
- factor_df.loc[index, each_variable] = 1
- elif float(row) >= Q1 and float(row) <= Q2:
- factor_df.loc[index, each_variable] = 2
- elif float(row) >= Q2 and float(row) <= Q3:
- factor_df.loc[index, each_variable] = 3
- elif float(row) >= Q3:
- factor_df.loc[index, each_variable] = 4
- else:
- print('check error')
- curr_df[each_variable] = factor_df[each_variable].values
- return curr_df
- def write_to_csv(df):
- loc_df = pd.DataFrame(df)
- print(loc_df.to_string())
- #loc_df.to_csv(path_or_buf="C:\\Users\\cdogan\\DataOutput")
- if __name__ == '__main__':
- discrete_df = create_quartiles(load_csv())
- write_to_csv(discrete_df)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement