python - Pandas 过滤和组合

标签 python pandas

我是 pandas 新手,很难弄清楚如何执行以下操作

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

所有值都是整数

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

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

最佳答案

要过滤掉,您可以使用:

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,

(等等),因为整数除法可能不是您想要的。)

关于python - Pandas 过滤和组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36244339/

相关文章:

python - 将1列数据转换为多热编码

python - 读取 csv : delimiter before end-of-line(EOL) leads to wrong column number

python - 有效地获取数据帧中可变长度的时间片

python - pandas:以排名为中心

python - 如何 reshape tflearn 的输入数据?

Python:断言不打印错误消息

python - Python/GTK 中的 block 像素移位

python - 在 Mac OS X Mountain Lion 上安装 gmpy

python - pycrypto - 长度不正确的密文

python - import gtk/glib 产生 ImportError : DLL load failed