以下是我遇到问题的代码部分:
for x in range(len(df['Days'])):
if df['Days'][x]>0 and df['Days'][x]<=30:
b = df['Days'][x]
b
我得到的输出是b = 14,这是if语句在数据帧的列中保存的最后一个值。我试图将if语句所在的列的所有值保存在“b”中,而不仅仅是最后一个值。
你想要做的是改为列表并将b附加到它。
my_vals = []
for x in range(len(df['Days'])):
if df['Days'][x]>0 and df['Days'][x]<=30:
b = df['Days'][x]
my_vals.append(b)
my_vals
在您的代码中,您将在每次迭代中更改qazxsw poi,因此它仅存储最新值。将来,当您尝试存储多个值时,请在不同的数据类型中执行此操作。
您还可以使用pandas的过滤功能并使用
b
如果您希望将值作为Series而不是DataFrame使用
values = df.loc[(df['Days'] >= 0) & (df['Days'] <= 30)]
如果您希望将值作为列表而不是使用Series
values_series = values['Days']