2
我有一個可能相當簡單的問題。我有10年,包括有數據,並根據當天的命名列的日常DF:熊貓:拖放等於週末的列
2017-04-07 2017-04-08 2017-04-09
a a a
我現在想放棄每一列其名,即這一天,等於一個週末。例如,在上面的例子只有這仍將:
2017-04-07
a
是否有人知道如何做到這一點?
我有一個可能相當簡單的問題。我有10年,包括有數據,並根據當天的命名列的日常DF:熊貓:拖放等於週末的列
2017-04-07 2017-04-08 2017-04-09
a a a
我現在想放棄每一列其名,即這一天,等於一個週末。例如,在上面的例子只有這仍將:
2017-04-07
a
是否有人知道如何做到這一點?
使用weekday
+ isin
的面具與loc
和boolean indexing
對於選擇哪些不是(~
)平日所有列:
print (df)
2017-04-07 2017-04-08 2017-04-09 2017-04-10
0 a a a a
#if necessary
df.columns = pd.to_datetime(df.columns)
print (~df.columns.weekday.isin([5,6]))
[ True False False True]
print (df.loc[:, ~df.columns.weekday.isin([5,6])])
2017-04-07 2017-04-10
0 a a
另一種解決方案:
df.columns = pd.to_datetime(df.columns)
print (df[df.columns[~df.columns.weekday.isin([5,6])]])
2017-04-07 2017-04-10
0 a a
對於更老的版本大熊貓的使用方法:
print (df[df.columns[~pd.Series(df.columns.weekday).isin([5,6])]])
2017-04-07 2017-04-10
0 a a
或者:
print (df[df.columns[np.in1d(df.columns.weekday, [5,6])]])
2017-04-08 2017-04-09
0 a a
謝謝!看上去不錯。我得到以下錯誤:AttributeError:'numpy.ndarray'對象沒有屬性'isin' –
有問題不使用最後一個版本的熊貓,讓我一秒。 – jezrael
對不起,但現在我得到這個錯誤:AttributeError:'Index'對象沒有'weekday'屬性 –