Назначьте имена столбцов и сохраните результаты из нескольких наборов данных, которые добавлены в один список, в свой собственный список / DataFrame для каждого набора данных - PullRequest
0 голосов
/ 24 марта 2019

Я хочу выполнить вычисление t-статистики для нескольких наборов данных, которые имеют несколько столбцов.

Чтобы указать столбцы, которые я использую columns = df.columns

Затем я сохраняю наборы данных в одном списке conds = [a, b, c, d, e, f, g, h]

Затем я хочу добавить результат в пустой список results = []

Это следующий код, который я использовал:

from scipy import stats

results = []
columns = df.columns
conds = [a, b, c, d, e, f, g, h]

for col in columns:
    for cond in conds:
        t_statistic, p_value = stats.ttest_1samp(conds[col], 0)
        results.append(t_statistic)

t-статистика сохраняется в списке для всех столбцов по всем наборам данных.

Что я хочу сделать, но не знаю, как это сделать, - назначить имена столбцов и сохранить результаты для каждого набора данных в своем собственном списке / DataFrame

Любой совет будет очень полезен!

1 Ответ

1 голос
/ 24 марта 2019

Вот подход, который должен дать вам то, что вы хотите:

# Generate sample data
def data_gen():
    df = pd.DataFrame(np.random.rand(10,10), columns=list('ABCDEFGHIJ'))
    return df 

a = data_gen()
b = data_gen()
c = data_gen()
d = data_gen()
e = data_gen()
f = data_gen()
g = data_gen()
h = data_gen()
df = a.copy()
from scipy import stats

results = {} # Initialize dictionary
columns = df.columns
conds = [a, b, c, d, e, f, g, h]
df_names = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

i = -1
for cond in conds:
    i += 1
    name = df_names[i]
    results[name] = [] # Initialize list
    for col in columns:
        t_statistic, p_value = stats.ttest_1samp(cond[col], 0) # Removed "s"
        results[name].append(t_statistic)

df_stats = pd.DataFrame.from_dict(results)
df_stats.index.name = 'Columns'
df_stats.columns.name = 'Data Frames'
print(df_stats)
Data Frames         a         b         c          d         e          f          g         h
Columns                                                                                       
0            4.868814  4.623735  4.238881   4.679973  5.450708   6.512495   6.080255  7.345525
1            4.697972  6.964373  6.382984   6.880155  5.987408  10.999835   3.931329  4.771808
2            2.965649  7.024299  4.748638  11.069944  4.176942   7.211100   5.258628  5.869208
3            3.635906  4.797787  6.842129   4.891177  4.741151   6.576623  10.419799  5.335392
4            4.834541  6.256189  4.916233   6.783839  5.716030   7.206449   5.924025  4.072350
5            5.711664  6.880239  6.041098   6.373754  3.322898   4.781460   9.376661  5.085084
6            6.808170  6.152167  7.111449   4.644709  7.156351   5.384771   6.964388  4.855696
7            4.310228  4.564960  4.386858   3.877932  5.384289  15.098405   6.540945  5.633237
8            4.462443  5.181235  5.844863   5.448389  4.600004   4.617082   5.472338  7.359407
9            4.742538  6.812944  7.289546   5.858223  4.264142   5.728580   5.606259  6.936728
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...