MultiIndex DataFrames中的操作

时间:2016-11-04 09:49:53

标签: python pandas

我正在使用multiIndex DataFrame并希望执行一些我正在努力的操作:

a)我想在不使用for循环

的情况下将几个操作应用于列表(按元素)

b)我想提取我的DataFrame的索引值并比较这些值;之前必须将它们从object转换为int或float

c)我想比较DataFrame中的值(不使用for循环),并根据该比较的值从任一列中选择值

=============================================== =========================

[mysqld]
secure-file-priv = ""

1 个答案:

答案 0 :(得分:2)

a)的部分答案:

df['Change'] = pd.concat([
    pd.concat([
        df.loc[:, 'Origin'] * (1 + increase_over_base_percent),
        df.loc[:, 'Origin'] + increase_over_base_abs,
    ], axis=1).min(axis=1).clip(upper=abs_level),
    df.loc[:, 'Origin'] + min_increase
], axis=1).max(axis=1)

想法是使用熊猫' minmax直接在Origin系列上发挥作用(稍微改动一下,clip使用abs_level)。

由于pandas操作会保留索引,因此您可以直接将结果分配给列。

修改:如果您愿意,可以使用this question末尾解释的combine方法。

相关问题