2024-09-29 23:18:21 发布
网友
假设我在数据帧df中有列b。 b列看起来像
df
b
b c'ASD56y' c'DSAD89y' c'FGTH89y'
我需要去掉b列中的单引号和c。我需要这样的输出
b ASD56y DSAD89y FGTH89y
我试过了
df.b.apply(lambda x: x.strip('c'))
抛出错误为: TypeError:需要类似字节的对象,而不是“str”
如有任何建议,将不胜感激
我认为split可以做到
split
df.b.str.split("'").str[1] Out[93]: 0 ASD56y 1 DSAD89y 2 FGTH89y Name: b, dtype: object df.b=df.b.str.split("'").str[1]
根据下面的评论,问题变成了encode\decode
encode
decode
df['b'].str.decode('utf-8')
只需确保在创建数据帧之前decode已修改dict的值
>>> import pandas as pd >>> toy = {0: b'ENF009', 1: b'ENF3', 2: b'ENF3', 3: b'ENF4'} >>> df = pd.DataFrame([v.decode() for v in toy.values()], index=toy.keys()) >>> print(df) 0 0 ENF009 1 ENF3 2 ENF3 3 ENF4
我认为
split
可以做到根据下面的评论,问题变成了
encode
\decode
只需确保在创建数据帧之前decode已修改dict的值
相关问题 更多 >
编程相关推荐