以下是我的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)
非常感谢您的协助,非常感谢!
答案 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