使用Pandas从dataframe的所有项中删除字符串

2024-05-03 04:02:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧df,如下所示:

dic = {'A':['pap','cdf\nsdc','ert','dgx','kll\nsrw','sdq'],
      'B':[1,4,6,2,5,6],
      'C':['123\n12','34','55','321\n88','09','45']}
df = pd.DataFrame(dic)

我的目标是从所有列中删除由\n和它前面的if组成的字符串:abc\ndef--->;def

我通过使用以下代码行实现了我的目标:

^{pr2}$

然而,我想有一个更聪明,更紧凑的方式来实现这样的结果。你能推荐一种比我的更优雅的方式吗(也许是一条线)?在

注意:列B是float!在


Tags: 数据目标df方式papcdfdicn12
1条回答
网友
1楼 · 发布于 2024-05-03 04:02:27

可以对有问题的col使用向量化的^{},如果有更复杂的示例,则需要根据dtype筛选感兴趣的col:

In [135]:
df['A'] = df['A'].str.split('\n').str[-1]
df['C'] = df['C'].str.split('\n').str[-1]
df

Out[135]:
     A  B   C
0  pap  1  12
1  sdc  4  34
2  ert  6  55
3  dgx  2  88
4  srw  5  09
5  sdq  6  45

动态方法:

^{pr2}$

相关问题 更多 >