代码之家  ›  专栏  ›  技术社区  ›  Austin

创建新数据帧的更好方法

  •  1
  • Austin  · 技术社区  · 6 年前

    我有三个同样大小的数据帧。我想知道是否有更简洁和/或有效的方法来再次创建相同大小的新数据帧,即根据原始数据帧的比较来设置值。例如:

    原始三个数据帧: close, low, high

    long_short = pd.DataFrame().reindex_like(close)
    long_short[:] = 0
    long_short = long_short.astype(np.int64)
    long_short[close < low] = -1
    long_short[close > high] = 1
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   kevh    6 年前

    最好能有一个数据样本来确定。

    做比较然后把布尔值转换成0/1值怎么样?

    negative_values = (close < low).astype(int)
    positive_values = (close > high).astype(int)
    
    long_short = positive_values - negative_values