Pandas截断包含特定值的行之前的DataFrame行

时间:2018-04-14 16:54:44

标签: python pandas

我的数据框的列包含90j1等字符串,这些字符串是唯一的。数据框已按该列排序。我需要的是截断包含特定值的行之前的所有行。这是一个例子:

df = pd.DataFrame(['90j1', '90j2', '90j3'])
print(df)
#       0
# 0  90j1
# 1  90j2
# 2  90j3

例如,我需要截断90j2行之前的行。预期的产出将是:

print(truncated_df)
#       0
# 0  90j2
# 1  90j3

2 个答案:

答案 0 :(得分:1)

以下是使用.iloc

的一种方法
df.iloc[df.loc[df[0]=='90j2'].index[0]:,:]
Out[356]: 
      0
1  90j2
2  90j3

答案 1 :(得分:1)

您可以使用pd.truncate

df.truncate(after=df.loc[df[0] == '90j2'].index[0])

或简单索引:

df.loc[:df.loc[df[0] == '90j2'].index[0]]

两者都导致:

      0
0  90j1
1  90j2