gpt4 book ai didi

python - Pandas 映射并加入多列

转载 作者:太空宇宙 更新时间:2023-11-04 05:50:13 26 4
gpt4 key购买 nike

我需要从我的 pandas df 传递 5 列并将生成的 5 个值连接到同一行。

df.head()

BP Pain Pulse RR Temp
0 111/111 9 75 13 97.1
1 None None None 18 98
2 164/87 6 79 15 None
3 120/72 5 77 18 97

另一个名为 VSCleaner 的模块

VSCleaner.CleanVSSET(df.BP, df.Pain, df.Pulse, df.RR, df.Temp)

会返回类似的东西

{'BP': '120/40', 'Pain': 2, 'Pulse': 180, 'RR': 18, 'Temp': 66.0}, True

我需要将每个 df 行传递给该函数,并将生成的 dict 和 bool 中的值插入同一行 (cleaned_BP, cleaned_Pain, cleaned_Pulse, cleaned_RR, cleaned_Temp , BOOL isCleaned)并在我所有的 df 中运行它。

最佳答案

我找到的最简单的方法:

>>> def CleanVSSET_apply(x):
# in my case CleanVSSET just returns the same values
d = CleanVSSET(*x.values)
r = d[0]
r['Cleaned'] = d[1]
return pd.Series(r)
>>>
>>> df_cleaned = df.apply(CleanVSSET_apply, axis=1)
BP Cleaned Pain Pulse RR Temp
0 111/111 True 9 75 13 97.1
1 None True None None 18 98
2 164/87 True 6 79 15 None
3 120/72 True 5 77 18 97

>>> pd.merge(df, df_cleaned, left_index=True, right_index=True, suffixes=['', 'cleaned'])
BP Pain Pulse RR Temp BP_cleaned Cleaned Pain_cleaned \
0 111/111 9 75 13 97.1 111/111 True 9
1 None None None 18 98 None True None
2 164/87 6 79 15 None 164/87 True 6
3 120/72 5 77 18 97 120/72 True 5

Pulse_cleaned RR_cleaned Temp_cleaned
0 75 13 97.1
1 None 18 98
2 79 15 None
3 77 18 97

关于python - Pandas 映射并加入多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com