Итак, у меня есть сценарий, способный найти z-оценку для разных фреймов данных.
Я бы хотел, чтобы мой скрипт сохранял мои файлы (если я применяю его к нескольким фреймам данных) под определенным c именем в зависимости от имени фрейма данных, к которому я применяю скрипт.
Вот мой фрейм данных:
data = pd.DataFrame({'col1': [1,2,3,4,5,6,7,8,9,10]})
И это код, который я использую:
import numpy as np
import pandas as pd
from statistics import mean
import csv
class stats:
def __init__(self, df):
self.df = df
self.min = self.get_min()
self.pos = self.get_pos()
self.log = self.get_log()
self.z = self.get_z()
#self.mean = self.get_mean()
def get_min(self):
get_min = abs(np.amin(self.df))
return get_min
def get_pos(self):
get_pos = self.df + self.get_min() + 1
return get_pos
def get_log(self):
get_log = np.log2(self.get_pos())
return get_log
def get_z(self):
z_score = []
get_z = (self.get_log() - np.mean(self.get_log()))/np.std(self.get_log(), ddof=1)
z_score.append(get_z)
return get_z
def save_z(self):
self.get_z().to_csv("z_" + str(z_data) + ".csv")
data = pd.DataFrame({'col1': [1,2,3,4,5,6,7,8,9,10]})
data_list = list(data.columns)
z_data = stats(df=(data[data_list]))
#print(z_data.get_min())
#print(z_data.get_pos())
#print(z_data.get_log())
#print(z_data.get_z())
if __name__ == '__main__':
z_data.save_z()
Часть, которую я пытаюсь исправить, это:
def save_z(self):
self.get_z().to_csv("z_" + str(data) + ".csv")
Я бы хотел, чтобы мой файл имел имя «z_data.csv» (если бы имя фрейма данных было x, имя было бы «z_x.csv»).
Спасибо заранее!