我有一个巨大的CSV文件,其中包含10000行和500列。我想将数据从标题提取到包含device_boot
的行。我想消除device_boot
之后的所有行。
示例:
Name,Time,status,..
start,05:06:2018 10:10:23,good,..
start,05:06:2018 10:11:23,good,..
failure,05:06:2018 11:10:25,critical,..
device_boot,05:06:2018 13:11:25,reboot,..
start,05:06:2018 13:13:23,good,..
start,05:06:2018 13:16:23,good,..
因此,我需要使用熊猫在CSV文件中最多保留device_boot
行(行)。我可以删除该关键字上的特定行,但不能使用pd.drop(...)
提取该部分。
感谢您的建议。
答案 0 :(得分:1)
使用:
print(df.loc[:df['Name'].gt('device_boot').idxmin()+1,:])
输出将是预期的输出。
更新:
print(df.loc[:df.index[df['Name']=='device_boot'].tolist()[-1],:])
如果要删除它,它包含'device_boot'
行:
print(df.loc[:df.index[df['Name']=='device_boot'].tolist()[-1]-1,:])
答案 1 :(得分:0)
我找到了关键字的索引,例如
val = df.loc[df['name']=='device_boot'].index
print val
然后,使用该行索引并仅检索直到该变量,
rowretrive_index = val1+50 // any extra rows can be added here.
print rowretrive_index
df1 = df.iloc[1:rowretrive_index]
df1.to_csv('/out.csv',',',dtype='unicode8')
希望它会有用。 谢谢, 桑达尔