在索引tup的第二个值中选择df中具有相同值的所有行

2024-04-20 05:30:59 发布

您现在位置:Python中文网/ 问答频道 /正文

和我前面的问题一样previous question about pandas index tuples

如何访问索引中具有相同元组第二个元素的df的所有行?你知道吗

我有下面的df,它会一直延续到下一个日期。把同一个符号的日期放在一起就太好了。你知道吗

                     Open   Close  Day Change
Date       Symbol
11-01-2018 AEDAUD  0.3470  0.3448     -0.0022
           AEDCAD  0.3415  0.3408     -0.0007
           AEDCHF  0.2663  0.2656     -0.0007
           AEDDKK  1.6955  1.6838     -0.0117
           AEDEUR  0.2277  0.2261     -0.0016

我在选择使用符号列中具有相同值的所有行时遇到问题。你知道吗

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

print(pd.__version__)

forex_11 = pd.read_csv('FOREX_20180111.csv', sep=',', parse_dates=['Date'])
forex_12 = pd.read_csv('FOREX_20180112.csv', sep=',', parse_dates=['Date'])
time_format = '%d-%m-%Y'

forex = forex_11.append(forex_12, ignore_index=False)
forex['Date'] = forex['Date'].dt.strftime(time_format)
tuples = list(forex[['Date', 'Symbol']].itertuples(index=False, name=None))
forex.index = pd.MultiIndex.from_tuples(tuples, names=['Date', 'Symbol'])
forex_open_close = pd.DataFrame(np.array(forex[['Open','Close']]), index=forex.index)
forex_open_close.columns = ['Open', 'Close']
forex_open_close['Day Change'] = forex_open_close['Close'] - forex_open_close['Open']
print(forex_open_close.head())

Tags: csvimportpandasdfclosedateindexas
1条回答
网友
1楼 · 发布于 2024-04-20 05:30:59

好的,记在ChuHo

下面的代码解决了我的问题

idx = pd.IndexSlice
print(forex_open_close.loc[idx[:,['AUDARS']], :])

并给出以下输出:

                      Open    Close  Day Change
Date       Symbol
11-01-2018 AUDARS  14.6193  14.7489      0.1296
12-01-2018 AUDARS  14.7486  14.7758      0.0272

相关问题 更多 >