从熊猫数据框列中的列表中删除第一个和最后一个值

时间:2021-03-15 10:15:37

标签: python pandas

我的数据框看起来像这样。

dataframe

0   abc 2019-02-12 11:03:32 PM 12345
1   def 2019-02-14 11:04:33 PM 12345
2   blank
3   ghi 2019-02-14 11:05:34 PM 12345

想要输出以下格式。

0   2019-02-12 11:03:32 PM
1   2019-02-14 11:04:33 PM
2   
3   2019-02-13 11:05:36 PM

简而言之,想从每一行中删除第一个和最后一个值,只保留日期和时间值。

3 个答案:

答案 0 :(得分:0)

如果需要删除由空格分隔的第一个和最后一个值,请使用 Series.str.split 并通过 str[1:-1]Series.str.join 进行索引:

df['A'] = df.A.str.split().str[1:-1].str.join(' ')
print (df)
                        A
0  2019-02-12 11:03:32 PM
1  2019-02-14 11:04:33 PM
2
3  2019-02-14 11:05:34 PM

或者:

df['A'] = df.A.apply(lambda x: ' '.join(x.split()[1:-1]))

答案 1 :(得分:0)

使用

df['A'] = df['A'].str.split().str[1:-1].str.join(" ")

给出:

                        A
0  2019-02-12 11:03:32 PM
1  2019-02-14 11:04:33 PM
2
3  2019-02-14 11:05:34 PM

答案 2 :(得分:0)

将打印第一个 1:3 切片索引 0 和索引 3 以及索引 1 和 2


df = df.iloc[:, 1:2]