答案 0 :(得分:1)
假设您的DataFrame称为df,则可以通过以下方式进行操作:
columns_to_keep = df.iloc[-1, :]>=0.3
new_df = df.loc[:, columns_to_keep]
在这种情况下,df.iloc[-1, :]
将最后一行作为pd.Series
。 >=0.3
将创建一个布尔系列,然后我们可以将其与.loc
一起使用,以仅保留最后一行的值大于或等于0.3的列。
我在下面准备了minimal, complete and verifiable example:
In [7]: import pandas as pd
In [8]: df = pd.DataFrame({'A':[0.1, 0.1, 0.2], 'B':[0.2, 0.3, 0.3], 'C':[0.2, 0.4, 0.4], 'D':[0.2, 0.2, 0.2], 'E':[0.1, 0.2, 0.4], 'F':[0.3
...: , 0.3, 0.4]}, index=['08-Jul-18', '09-Jul-18', '10-Jul-18'])
In [9]: df
Out[9]:
A B C D E F
08-Jul-18 0.1 0.2 0.2 0.2 0.1 0.3
09-Jul-18 0.1 0.3 0.4 0.2 0.2 0.3
10-Jul-18 0.2 0.3 0.4 0.2 0.4 0.4
In [10]: df.loc[:, df.iloc[-1, :] >=.3]
Out[10]:
B C E F
08-Jul-18 0.2 0.2 0.1 0.3
09-Jul-18 0.3 0.4 0.2 0.3
10-Jul-18 0.3 0.4 0.4 0.4