Вычитание значений одного столбца из другого с помощью Pandas

Вы также можете сделать это с помощью pandas rename_categories. Сначала вам нужно определить столбец как dtype="category", например

In [66]: s = pd.Series(["a","b","c","a"], dtype="category")

In [67]: s
Out[67]: 
0    a
1    b
2    c
3    a
dtype: category
Categories (3, object): [a, b, c]

, а затем переименовать их:

In [70]: s.cat.rename_categories([1,2,3])
Out[70]: 
0    1
1    2
2    3
3    1
dtype: category
Categories (3, int64): [1, 2, 3]

Вы также можете передать объект, похожий на диктофон, для сопоставления переименование, например:

In [72]: s.cat.rename_categories({1: 'x', 2: 'y', 3: 'z'})
0
задан Sinbad 13 July 2018 в 21:27
поделиться

1 ответ

Это должно сделать это:

import pandas as pd

d = {'patient1': [1,2,3,4,5], 'patient2': [3,5,7,8,11], 'patient3': [5,9,13,17,21]}
df = pd.DataFrame(data=d)
min_df = df.apply(min,axis=0)
max_df = df.apply(max,axis=0)
sub_df = max_df - min_df
div_df = sub_df/0.5
out_df = pd.concat([min_df, max_df,sub_df,div_df], axis=1)
out_df.index.name = 'Patient'
out_df.columns = ['min','max','div','sub']
out_df.to_csv("out_all.csv")
out_df.T.to_csv("out_all_patients_as_columns.csv")

Надеюсь, вы получите эту идею, адаптируйте ее соответствующим образом.

0
ответ дан swiftg 17 August 2018 в 12:16
поделиться
  • 1
    Большое вам спасибо. Можете ли вы проверить следующий ответ, который я дал, чтобы очистить то, что я пытаюсь сделать, я не могу редактировать свой оригинальный вопрос из-за низких баллов в качестве нового участника. – Sinbad 13 July 2018 в 18:59
  • 2
    Попробуйте ответы, если это сработает для вас, примите наилучший ответ. – swiftg 13 July 2018 в 19:06
  • 3
    Он работает для значений, которые вы предоставили, но у меня есть готовый файл excel, который я импортировал, теперь мне нужно запустить код на этом, видите ли вы, этот ответ, который я дал, должен очистить: stackoverflow.com/a/ 51331321/7529936 – Sinbad 13 July 2018 в 19:12
Другие вопросы по тегам:

Похожие вопросы: