首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择df中在索引元组的第二个值中具有相同值的所有行

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

Stack Overflow用户
提问于 2018-03-08 05:24:36
回答 1查看 277关注 0票数 0

与我之前的问题类似,previous question about pandas index tuples

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

我有下面的df,一直持续到下一天。将日期与相同的符号一起显示将是很棒的。

代码语言:javascript
复制
                     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

我在使用Symbol列中具有相同值的所有行进行选择时遇到问题。

代码语言:javascript
复制
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())
EN

回答 1

Stack Overflow用户

发布于 2018-03-08 05:38:09

好的,归功于ChuHo

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

代码语言:javascript
复制
idx = pd.IndexSlice
print(forex_open_close.loc[idx[:,['AUDARS']], :])

并给出以下输出:

代码语言:javascript
复制
                      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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49161466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档