如何按某些条件过滤数据框然后保存 .csv?
how can i filter a dataframe by some criteria and then save .csv?
大家好,我几天前开始使用 jupyter notebook。
我需要帮助,我有一个熊猫数据框。像这样
Date Stock Company Volume
01/02 APPL3 Apple 1.000.000
01/02 YUSS Yusduqs 200.000
01/02 APPL4 Apple 200.000
01/02 DISN Disney 1.500.000
02/02 APPL3 Apple 100.000
02/02 YUSS Yusduqs 1.250.000
02/02 DISN Disney 2.000.000
02/02 APPL4 Apple 1.250.000
... ... ....
我需要 select 在 80% 以上的交易日中交易量大于每天 500.000,00 美元的股票。
我需要 select **每家公司只有一只股票,标准是所有天的交易量总和。就像 [Company] 中的 'Apple' 我有两个不同的 [Stock] Appl3 和 Appl4,在这种特定情况下我只需要 APPL4.
(因为 Appl4 中合并的天数 > Appl3 中合并的天数)
我是这样开始的:
unique_dates=len(df['Date'].value_counts())
share_freq=df[df['Volume']>=500000]]['Stock'].value_counts() stocks=share_freq/unique_dates for stock,value in stocks.items():
if(value>0.8):
print(stock)
所以在那之后我可以看到哪个有>0.8,但我仍然需要 select 每个公司只需要一只股票。我不知道如何尊重所有的标准,最后通过标准过滤所有数据帧并保存在 .csv
我们可以用nunique
n=df.loc[df['Volume']>=500000,'Date'].groupby(df['Stock']).nunique()
uniquedate=df.Date.nunique()
n=n[n/uniquedate >0.8]
print(n.index)
更新
df.loc[df.Stock.isin(n.index)].to_excel('output.xlsx')
大家好,我几天前开始使用 jupyter notebook。
我需要帮助,我有一个熊猫数据框。像这样
Date Stock Company Volume
01/02 APPL3 Apple 1.000.000
01/02 YUSS Yusduqs 200.000
01/02 APPL4 Apple 200.000
01/02 DISN Disney 1.500.000
02/02 APPL3 Apple 100.000
02/02 YUSS Yusduqs 1.250.000
02/02 DISN Disney 2.000.000
02/02 APPL4 Apple 1.250.000
... ... ....
我需要 select 在 80% 以上的交易日中交易量大于每天 500.000,00 美元的股票。
我需要 select **每家公司只有一只股票,标准是所有天的交易量总和。就像 [Company] 中的 'Apple' 我有两个不同的 [Stock] Appl3 和 Appl4,在这种特定情况下我只需要 APPL4.
(因为 Appl4 中合并的天数 > Appl3 中合并的天数)
我是这样开始的:
unique_dates=len(df['Date'].value_counts())
share_freq=df[df['Volume']>=500000]]['Stock'].value_counts() stocks=share_freq/unique_dates for stock,value in stocks.items():
if(value>0.8):
print(stock)
所以在那之后我可以看到哪个有>0.8,但我仍然需要 select 每个公司只需要一只股票。我不知道如何尊重所有的标准,最后通过标准过滤所有数据帧并保存在 .csv
我们可以用nunique
n=df.loc[df['Volume']>=500000,'Date'].groupby(df['Stock']).nunique()
uniquedate=df.Date.nunique()
n=n[n/uniquedate >0.8]
print(n.index)
更新
df.loc[df.Stock.isin(n.index)].to_excel('output.xlsx')