我在pandas中有一个数据帧,我想删除特定字符后的所有内容
到目前为止,我已经使用了split函数,它在1列上工作
df3['defending_marking'] = df3['defending_marking'].apply(lambda x: x.split('+')[0])
我想用fx在所有列上这样做。iloc公司
df3.iloc[:,:] = df3.iloc[:,:].apply(lambda x: x.split('+')[0])
我只是犯了个错误
你能帮忙吗
谢谢你
Tags:
在第一个例子中,使用
Series.apply
,其中x
是序列/列的每个字符串split
被直接应用到每个字符串上,所以它工作得很好。在第二种情况下,使用dataframe.apply
,其中x
是数据帧的每一列(即序列)。现在,split
应用于每个系列,所以失败了在2none上,需要调用
str.split
,如下所示当您使用
split
仅选取第一部分时,添加选项n=1
以在第一次找到后停止分割将使代码运行得更快你不需要通过[:,:]。应该在apply函数中使用axis=1将每一列逐个传递给lambda函数,然后重新分配回同一数据帧
相关问题 更多 >
编程相关推荐