【发布时间】:2018-07-10 16:07:59
【问题描述】:
【问题讨论】:
【问题讨论】:
鉴于您的 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
【讨论】: