为简单起见,假设我有这个数据帧。
Date Open Close
2016-01-01 100 129
2016-01-02 198 193
2016-01-03 103 102
2016-01-04 102 109
我无法说明所有列名称,因为它们太多了。那么如何移除所有列除了其中两个(Date& Close)?我想将除(Date& Close)之外的所有列移回一行。
Date Open Close
2016-01-01 198 129
2016-01-02 103 193
2016-01-03 102 102
2016-01-04 NaN 109
答案 0 :(得分:5)
你可以这样做,为要排除的列创建一个掩码:
Xyt::ByteArray::ByteArray(std::vector<char> Buffer)
{
this->Buffer = std::move(Buffer);
}
OR
mask = ~(df.columns.isin(['Date','Close']))
cols_to_shift = df.columns[mask]
df[cols_to_shift] = df.loc[:,mask].shift(-1)
输出:
df[cols_to_shift] = df[cols_to_shift].shift(-1)