根据Colum

时间:2018-04-11 13:26:15

标签: python pandas csv dataframe

以下是我的CSV文件:

Record  Time Value 1 Value 2 Value 3
Event   1    20      35      40
Event   2    48      43      56
Event   3    45      58      90
FFC     4    12      89      94
FFC     5    30      25      60
Event   6    99      45      13

我想使用pandas来解析记录'列直到找到第一个FFC,然后打印整行。另外,我想在第一个找到的FFC上方打印两行。关于如何处理这个的任何建议?

我想要使用Pandas的原因是我需要调用两个打印行中的特定值并绘制它们。

开始我有:

csvfile = pd.read_csv('Test.csv')
print(csvfile)

非常感谢您的协助,非常感谢!

1 个答案:

答案 0 :(得分:0)

这是一种方式。

import pandas as pd
from io import StringIO

mystr = StringIO("""Record  Time Value1 Value2 Value3
Event   1    20      35      40
Event   2    48      43      56
Event   3    45      58      90
FFC     4    12      89      94
FFC     5    30      25      60
Event   6    99      45      13""")

# replace mystr with 'file.csv'
df = pd.read_csv(mystr, delim_whitespace=True)

# get index of condition
idx = df[df['Record'] == 'FFC'].index[0]

# filter for appropriate indices
res1 = df.loc[idx]
res2 = df.loc[idx-2]

输出数据框:

print(res1.to_frame().T)

#   Record Time Value1 Value2 Value3
# 3    FFC    4     12     89     94