将函数应用于pandas数据帧中的每个其他列

时间:2015-10-29 20:30:40

标签: python pandas

我有以下代码对我的数据框中的每一列进行舍入:

def column_round(decimals):
    return partial(pd.Series.round, decimals=decimals)

df = df.apply(column_round(2))

我想在我拥有的新数据框中对每个其他列执行此操作。我相信我读到的地方::是踩踏的内置符号,但我不太确定如何使用它。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

df[df.columns[::2]].apply(column_round(2))

这会跨越df列,因此您可以对它们进行子选择

示例:

In [2]:
df = pd.DataFrame(columns=list('abcdefgh'))
df

Out[2]:
Empty DataFrame
Columns: [a, b, c, d, e, f, g, h]
Index: []

In [3]:
df.columns[::2]

Out[3]:
Index(['a', 'c', 'e', 'g'], dtype='object')