说我在数据帧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'
任何建议将不胜感激。
答案 0 :(得分:3)
我认为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
df['b'].str.decode('utf-8')
答案 1 :(得分:1)
在制作DataFrame之前,请确保您decode字典的值
>>> 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