无法在cs的所有列上应用regex

2024-04-19 20:56:24 发布

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

Input : T1_col1 T2_col2 MANDT   BUKRS   LIFNR
           NULL         900     1100    1000000010
           NULL         900     1100    1000000044

Columns: T1_col1, T2_col2, MANDT, BUKRS, LIFNR

Output:             T1_col1 T2_col2 MANDT   BUKRS   LIFNR
                0                     900   1100    DDDDDDDDDD
                1                     900   1100    DDDDDDDDDD


Code:
df = pd.read_csv(filename)
df = df.replace('[A-Za-z]','N', regex=True).replace('\d','D', regex=True)
df.to_csv('Output.csv')

可以看出,名为MANDT、BUKRS的列没有被替换。我想把所有的栏目都改一下


Tags: csvtruedfoutputnullreplaceregexcol2
1条回答
网友
1楼 · 发布于 2024-04-19 20:56:24

我不知道你用的是什么版本的python,我的replace中没有regex选项。然而,这应该是可行的:

df.apply(lambda x: x.astype(str).str.replace('[A-Za-z]','N').str.replace('\d','D'))

我的猜测是,您的一些列的格式不是字符串,而是数字,替换将不起作用

相关问题 更多 >