python - 将 pandas 操作表达为管道

标签 python pandas

df = df.loc[:, dict_lup.values()].rename(columns={v: k for k, v in dict_lup.items()})

df['cover'] = df.loc[:, 'cover'] * 100.
df['id'] = df['condition'].map(constants.dict_c) 
df['temperature'] = (df['min_t'] + df['max_t])/2.

有没有办法将上面的代码表达为 pandas 管道?我陷入了第一步,即重命名数据框中的一些列并选择列的子集。

--编辑: 数据在这里:

    max_t   col_a   min_t   cover   condition   pressure
0   38.02   1523106000  19.62   0.48    269.76  1006.64
1   39.02   1523196000  20.07   0.29    266.77  1008.03
2   39  1523282400  19.48   0.78    264.29  1008.29
3   39.11   1523368800  20.01   0.7 263.68  1008.29
4   38.59   1523455200  20.88   0.83    262.35  1007.36
5   39.33   1523541600  22  0.65    261.87  1006.82
6   38.96   1523628000  24.05   0.57    259.27  1006.96
7   39.09   1523714400  22.53   0.88    256.49  1007.94

最佳答案

我认为需要assign :

df = df.loc[:, dict_lup.values()].rename(columns={v: k for k, v in dict_lup.items()})
       .assign(cover = df['cover'] * 100.,
               id = df['condition'].map(constants.dict_c),
               temperature = (df['min_t'] + df['max_t'])/2.)

关于python - 将 pandas 操作表达为管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49709598/

相关文章:

python - 从任意概率密度函数生成随机数

python - 4 次矩阵乘法的 np.einsum 性能

python - Django 。图片字段。 Django中静态文件的路径

python - 如果索引包含重复值,为什么 pandas 在使用索引时合并速度较慢?

python - 如何将 3 级字典转换为所需格式?

python - 当特定列达到给定值时分割 Pandas 框架

python - 创建新列并放置条件值 pandas 数据框

python - 跨 pandas 数据框匹配数据

python - 我的 Sprite 无法向右移动 pygame

python - 在 docker-py 中发布到随机端口并返回端口