python 怎么根据两列值,修改对应的某列值,其中一列的为需要修改的列标题

python 怎么根据两列值,修改对应的某列值,其中一列的为需要修改的列标题1

python 怎么根据两列值,修改对应的某列值,其中一列的为需要修改的列标题2
如何根据图2的错误项,更改图1中对应编号的,且错误项对应图1的列标题中的值


回答:

我在描述下问题,时根据图2中的 错误项,和编号去修改图1中对应的编号和列标题与图2中错误项相同的单元格的值。求大神帮忙写一下代码


回答:

自己造了些数据,不知道是否符合题主的意思。

原始数据:

no wrong_item

0 001 a

1 003 a

2 002 b

3 004 c

处理后结果:

Out[1]:

no a b c

0 001 1 0 0

2 002 0 1 0

1 003 1 0 0

3 004 0 0 1

具体代码如下:

import pandas as pd

# 创建dataframe,或者从csv读取dataframe

# old_df = pd.read_csv(path)

old_df = pd.DataFrame([

{'wrong_item':'a', 'no':'001'},

{'wrong_item':'a', 'no':'003'},

{'wrong_item':'b', 'no':'002'},

{'wrong_item':'c', 'no':'004'}

])

# dataframe记录字典中,增加 'a','b','c'三个键,并标记是否存在错误项(wrong_item)

record_list = []

for record in old_df.to_dict('records'):

for k in ['a', 'b', 'c']:

if k in record["wrong_item"]:

record[k] = 1

else:

record[k] = 0

# 去掉重复进入的record

if record not in record_list:

record_list.append(record)

# 生成新的dataframe

new_df = pd.DataFrame(record_list)

# 排除错误项(wrong_item)列

new_df = new_df.loc[:, new_df.columns !='wrong_item']

# 设定列的顺序为:编号(no),'a','b','c'

new_df = new_df.reindex(columns=['no','a','b','c'])

# 设定行顺序:编号(no),'a','b','c'升序排列

new_df.sort_values(['no','a','b','c'])

以上是 python 怎么根据两列值,修改对应的某列值,其中一列的为需要修改的列标题 的全部内容, 来源链接: utcz.com/p/937781.html

回到顶部