熊猫过滤和结合

时间:2016-03-27 05:56:45

标签: python pandas

我是大熊猫的新手,并且很难搞清楚如何做以下事情

data = pd.read_csv('data.csv', sep=';', header=0, names=['a1', 'a2', 'b1', 'b2', 'c1', 'c2'])

所有值均为整数

我需要过滤掉'a1','b1','c1'小于5的行,然后生成一个新的DataFrame,只包含'a','b','c',其中

a[i] = a2[i] / a1[i]
c[i] = b2[i] / b1[i]
d[i] = c2[i] / c1[i]

1 个答案:

答案 0 :(得分:2)

要过滤掉,您可以使用:

data = data[(data.a1 < 5) & (data.b1 < 5) & (data.c1 < 5)]

然后,您可以使用新列创建DataFrame:

pd.DataFrame({
    'a': data.a2 / data.a1,
    'c': data.b2 / data.b1,
    'd': data.c2 / data.c1})

(请注意,在前面的内容中,您可以考虑使用

    'a': data.a2.astype(float) / data.a1,

(依此类推),因为整数除法可能不是你想要的。)