gpt4 book ai didi

python - Pandas Data Frame 函数应用到特定行

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

我正在尝试将一个函数 f1 应用于行 ['Utah,'Texas'] 并将 f2 应用于其他行。我不想为每个函数创建单独的 DF。

根据 Wes McKinney 的 Python 数据分析调整的示例:

MWE:

import pandas as pd
import numpy as np

frame = pd.DataFrame(np.random.randn(4, 3),
columns=list('bde'),
index=['Utah', 'Ohio', 'Texas', 'Oregon'])

f1 = lambda x: (x-x.min())/(x.max() - x.min())
f2 = lambda x: (x-x.max())/(x.min() - x.max())

我试过按标签选择行:frame.loc['Utah'].apply(f1,axis=1)

我能感觉到我错过了一些非常小的东西,但是......

最佳答案

这将创建一个 2d numpy.array,其每一行都是根据您为该行指定的规则将两个函数之一应用于数据框:

np.where(
np.array([frame.index.isin(['Utah', 'Texas']) for _ in frame.columns]).T,
frame.apply(f1, axis=1),
frame.apply(f2, axis=1))

由于您没有完全指定输出,因此很难猜测您想进一步做什么。

关于python - Pandas Data Frame 函数应用到特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30822047/

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