使用for循环替换pandas列的每一行中的单元格值(Replace cell values in each row of pandas column using for loop)

编程入门 行业动态 更新时间:2024-10-26 10:28:34
使用for循环替换pandas列的每一行中的单元格值(Replace cell values in each row of pandas column using for loop)

请帮我理解我的错误。 我正在尝试更改.csv文件中的一列。 我有.csv文件如下:

sku,name,code k1,aaa,886 k2,bbb,898 k3,ccc,342 k4,ddd,503 k5,eee,401

我想用“sku”列中的“_”符号替换“k”符号。 我写了代码:

import sys import pandas as pd import numpy as np import datetime df = pd.read_csv('cat0.csv') for r in df['sku']: r1 = r.replace('k', '_') df['sku'] = r1 print (df)

但代码会在“sku”列的每一行中插入最后一个值。 所以我得到:

sku name code 0 _5 aaa 886 1 _5 bbb 898 2 _5 ccc 342 3 _5 ddd 503 4 _5 eee 401

我想得到如下:

sku name code 0 _1 aaa 886 1 _2 bbb 898 2 _3 ccc 342 3 _4 ddd 503 4 _5 eee 401

Please, help me understand my error. I'm trying to change one column in my .csv file. I have .csv file as following:

sku,name,code k1,aaa,886 k2,bbb,898 k3,ccc,342 k4,ddd,503 k5,eee,401

I want to replace "k" symbol with the "_" symbol in the "sku" column. I wrote the code:

import sys import pandas as pd import numpy as np import datetime df = pd.read_csv('cat0.csv') for r in df['sku']: r1 = r.replace('k', '_') df['sku'] = r1 print (df)

But the code inserts the last value in every row of the "sku" column. So I get:

sku name code 0 _5 aaa 886 1 _5 bbb 898 2 _5 ccc 342 3 _5 ddd 503 4 _5 eee 401

I want to get as following:

sku name code 0 _1 aaa 886 1 _2 bbb 898 2 _3 ccc 342 3 _4 ddd 503 4 _5 eee 401

最满意答案

您可以在整个列上使用str.replace :

from io import StringIO import pandas as pd data = """sku,name,code k1,aaa,886 k2,bbb,898 k3,ccc,342 k4,ddd,503 k5,eee,401""" file = StringIO(data) df = pd.read_csv(file) df['sku'] = df['sku'].str.replace('k', '_') print(df)

这会产生

sku name code 0 _1 aaa 886 1 _2 bbb 898 2 _3 ccc 342 3 _4 ddd 503 4 _5 eee 401

You can use str.replace on the whole column:

from io import StringIO import pandas as pd data = """sku,name,code k1,aaa,886 k2,bbb,898 k3,ccc,342 k4,ddd,503 k5,eee,401""" file = StringIO(data) df = pd.read_csv(file) df['sku'] = df['sku'].str.replace('k', '_') print(df)

This yields

sku name code 0 _1 aaa 886 1 _2 bbb 898 2 _3 ccc 342 3 _4 ddd 503 4 _5 eee 401

更多推荐

本文发布于:2023-07-21 09:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1208976.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:单元格   cell   Replace   pandas   column

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!