如何根据特定字符删除pandas数据框中的行

时间:2017-05-30 00:14:06

标签: python pandas

我在数据框中得到了这个

name : john,
address : Milton Kings,
phone : 43133241

Concern:
customer complaint about the services is so suck 

thank you

如何处理上述内容以仅删除包含:的数据框中的文字行?我的目标是获得仅包含以下内容的行。

customer complaint about the services is so suck

请帮助。

2 个答案:

答案 0 :(得分:1)

您可以做的一件事是将“:”之后的句子与数据框分开。您可以通过从数据框创建一个系列来完成此操作。

假设c是你的系列。

c=pd.Series(df['column'])
s=[c[i].split(':')[1] for i in range(len(c))]

通过这样做,您可以将句子与冒号分开。

答案 1 :(得分:0)

假设你想保留句子的第二部分,你可以使用applymap  解决问题的方法。

import pandas as pd

#Reproduce the dataframe
l = ["name : john",
"address : Milton Kings",
"phone : 43133241",
"Concern : customer complaint about the services is so suck" ]
df = pd.DataFrame(l)

#split on each element of the dataframe, and keep the second part
df.applymap(lambda x: x.split(":")[1])

输入:

    0
0   name : john
1   address : Milton Kings
2   phone : 43133241
3   Concern : customer complaint about the services is so suck

输出:

    0
0    john
1    Milton Kings
2    43133241
3    customer complaint about the services is so suck