Python - 熊猫索引
获得一个单元格与另一个单元格相关联的最佳方式是什么?Python - 熊猫索引
我有标识的文章,并在下面的CSV文件(没有数据帧):
list = ['ABC0123', 'DEF0123']
> Column 1 Column 2 Column 3 Column 4
> "Date" 20170101 "Identifier" ABC
>"OpenPrice" 500 "Currency" USD
>"ClosePrice" 550 "foo" bar
> ...
> ...
> ...
> "Date" 20170101 "Identifier" DEF
>"OpenPrice" 600 "Currency" USD
>"ClosePrice" 650 "foo" bar
我想要得到的收盘价为标识,如550和650, 在解析文件,查找标识符,然后向下移动2,向左移动2。
“关闭价格”重复本身,我想获取标识符列表的值。此外,iloc和loc仅获取同一行中的值,那么获取值的最简单方法是什么?
让我们尝试:
df.iloc[df[df['Column 4'].isin(list)].index + 2,1]
花了我一些时间来申请我的循环,调整和测试我的数据集,但是..是的!你能否提供一些解释,说明它是如何和为什么起作用的,或者指导我阅读文档?不知道这是否是正确的https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.html,但不能说这有帮助。 – bloo
好的...让我们一起努力吧。 df ['Column 4']在列表中。对这两条记录返回true。然后,我们使用布尔索引选择来获取记录,并且.index返回索引add 2到这个索引以下行。现在,使用.iloc作为数据框的索引位置并获取第二列。 –
谢谢,我想除了索引行的思维过程之外,解决方案的本质是知道如何从那里移动。我以前没有尝试'+ 2,1'。 – bloo
你必须改变格式的能力吗?如果每种类型的数据都有一列,那么您将有更容易的时间:日期,标识符,OpenPrice,ClosePrice,货币等,然后每行将是一个完整的记录。 –
首先感谢您帮助我的问题的格式,其次,不幸的是,我知道您的意思,但我正在处理发送给我的大文件,而不是能够控制输出。 – bloo