如何从列表中查找哪些货币对在列中的所有单元格中都缺少两种货币?
How to find which currency pairs from a list have both currencies missing in all of the cells in a column?
假设您有以下名为 currency_trading_pairs
的列表,其中包含以下元素:
currency_trading_pairs = ['USD/CAD', 'EUR/USD', 'GBP/USD', 'NZD/USD', 'AUD/USD',
'USD/JPY', 'EUR/CAD', 'EUR/AUD', 'EUR/JPY', 'EUR/GBP',
'AUD/CAD', 'GBP/JPY', 'CHF/JPY', 'AUD/JPY', 'AUD/NZD']
现在,假设您有以下名为 filtered_df
的数据框,其中包含以下数据:
Time Currency Volatility expected Event
24 04:30 GBP Low Volatility Expected Inflation Expectations
25 05:00 EUR High Volatility Expected EU Leaders Summit
26 05:10 EUR Low Volatility Expected Italian 15-Year BTP Auction
27 05:10 EUR Low Volatility Expected Italian 3-Year BTP Auction
28 05:10 EUR Low Volatility Expected Italian 7-Year BTP Auction
29 06:00 EUR Low Volatility Expected Spanish Consumer Confidence
30 06:30 INR Low Volatility Expected Bank Loan Growth
31 06:30 INR Low Volatility Expected Deposit Growth
32 06:30 INR Low Volatility Expected FX Reserves, USD
33 07:00 INR Low Volatility Expected Cumulative Industrial Production (Jan)
34 07:00 INR Low Volatility Expected Industrial Production (YoY) (Jan)
35 07:00 INR Low Volatility Expected Manufacturing Output (MoM) (Jan)
36 07:00 BRL Moderate Volatility Expected CPI (YoY) (Feb)
37 07:00 BRL Moderate Volatility Expected CPI (MoM) (Feb)
38 08:06 BRL Moderate Volatility Expected Brazilian IPCA Inflation Index SA (MoM)(Feb)
39 08:30 CAD Low Volatility Expected Capacity Utilization Rate (Q4)
40 08:30 CAD High Volatility Expected Employment Change (Feb)
41 08:30 CAD Low Volatility Expected Full Employment Change (Feb)
42 08:30 CAD Low Volatility Expected Part Time Employment Change (Feb)
43 08:30 CAD Low Volatility Expected Participation Rate (Feb)
44 08:30 CAD Moderate Volatility Expected Unemployment Rate (Feb)
您如何找到 currency_trading_pairs
(列表)中的哪些货币对(元素)在 filtered_df
的 Currency
列的所有单元格中都缺少两种货币,以便您可以在名为 the_missing_pairs
:
的变量中获得以下输出
the_missing_pairs = ['NZD/USD', 'AUD/USD', 'USD/JPY', 'CHF/JPY', 'AUD/JPY', 'AUD/NZD']
进一步说明:基本上,确保 the_missing_pairs
列表中的所有货币名称不会出现在列中的任何单元格中 Currency
来自 filtered_df
.
我实际上会将 currency_trading_pairs
转换为 Series 对象。然后你可以用 /
和 explode
拆分,然后使用 isin
,最后 groupby(level=0)
+ any
来产生完美的面具:
ctp = pd.Series(currency_trading_pairs)
the_missing_pairs = ctp[~ctp.str.split('/').explode().isin(df['Currency']).groupby(level=0).any()].tolist()
输出:
>>> the_missing_pairs
['NZD/USD', 'AUD/USD', 'USD/JPY', 'CHF/JPY', 'AUD/JPY', 'AUD/NZD']
假设您有以下名为 currency_trading_pairs
的列表,其中包含以下元素:
currency_trading_pairs = ['USD/CAD', 'EUR/USD', 'GBP/USD', 'NZD/USD', 'AUD/USD',
'USD/JPY', 'EUR/CAD', 'EUR/AUD', 'EUR/JPY', 'EUR/GBP',
'AUD/CAD', 'GBP/JPY', 'CHF/JPY', 'AUD/JPY', 'AUD/NZD']
现在,假设您有以下名为 filtered_df
的数据框,其中包含以下数据:
Time Currency Volatility expected Event
24 04:30 GBP Low Volatility Expected Inflation Expectations
25 05:00 EUR High Volatility Expected EU Leaders Summit
26 05:10 EUR Low Volatility Expected Italian 15-Year BTP Auction
27 05:10 EUR Low Volatility Expected Italian 3-Year BTP Auction
28 05:10 EUR Low Volatility Expected Italian 7-Year BTP Auction
29 06:00 EUR Low Volatility Expected Spanish Consumer Confidence
30 06:30 INR Low Volatility Expected Bank Loan Growth
31 06:30 INR Low Volatility Expected Deposit Growth
32 06:30 INR Low Volatility Expected FX Reserves, USD
33 07:00 INR Low Volatility Expected Cumulative Industrial Production (Jan)
34 07:00 INR Low Volatility Expected Industrial Production (YoY) (Jan)
35 07:00 INR Low Volatility Expected Manufacturing Output (MoM) (Jan)
36 07:00 BRL Moderate Volatility Expected CPI (YoY) (Feb)
37 07:00 BRL Moderate Volatility Expected CPI (MoM) (Feb)
38 08:06 BRL Moderate Volatility Expected Brazilian IPCA Inflation Index SA (MoM)(Feb)
39 08:30 CAD Low Volatility Expected Capacity Utilization Rate (Q4)
40 08:30 CAD High Volatility Expected Employment Change (Feb)
41 08:30 CAD Low Volatility Expected Full Employment Change (Feb)
42 08:30 CAD Low Volatility Expected Part Time Employment Change (Feb)
43 08:30 CAD Low Volatility Expected Participation Rate (Feb)
44 08:30 CAD Moderate Volatility Expected Unemployment Rate (Feb)
您如何找到 currency_trading_pairs
(列表)中的哪些货币对(元素)在 filtered_df
的 Currency
列的所有单元格中都缺少两种货币,以便您可以在名为 the_missing_pairs
:
the_missing_pairs = ['NZD/USD', 'AUD/USD', 'USD/JPY', 'CHF/JPY', 'AUD/JPY', 'AUD/NZD']
进一步说明:基本上,确保 the_missing_pairs
列表中的所有货币名称不会出现在列中的任何单元格中 Currency
来自 filtered_df
.
我实际上会将 currency_trading_pairs
转换为 Series 对象。然后你可以用 /
和 explode
拆分,然后使用 isin
,最后 groupby(level=0)
+ any
来产生完美的面具:
ctp = pd.Series(currency_trading_pairs)
the_missing_pairs = ctp[~ctp.str.split('/').explode().isin(df['Currency']).groupby(level=0).any()].tolist()
输出:
>>> the_missing_pairs
['NZD/USD', 'AUD/USD', 'USD/JPY', 'CHF/JPY', 'AUD/JPY', 'AUD/NZD']