我正在尝试将一个功能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))
由于您没有完全指定输出,因此很难猜测您想要进一步做些什么。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句