2024-09-28 01:31:41 发布
网友
我有一个列,比如说a带有字符串,另一个列B带有二进制值1/0。 我正在尝试匹配a列中的正则表达式,并相应地更新B列
如果这是我的正则表达式
pattern_1 = re.compile(r'\bstudent', re.IGNORECASE)
我想把桌子改成下面的样子
A B I am a teacher 0 I am a student 1 Student group 1
您可以使用pandas创建dataframe,并通过检查每行数据来创建新列:
import pandas as pd import re pattern_1 = re.compile(r'\bstudent', re.IGNORECASE) data = [['I am a teacher',0],['I am a student ',0],['Student group', 0]] df = pd.DataFrame(data, columns =['A','B']) print("orginal df:",df) df['B'] = df.apply(lambda row: 1 if pattern_1.search(row.A) else row.B , axis=1) print("\n\nmodified df:",df)
输出:
orginal df: A B 0 I am a teacher 0 1 I am a student 0 2 Student group 0 modified df: A B 0 I am a teacher 0 1 I am a student 1 2 Student group 1
您没有指定列的存储方式,但这听起来像是带有枚举的基本for循环的作业。 假设A和B是列表:
for i, a_value in enumerate(A): B[i] = bool(pattern_1.search(A))
您可以使用pandas创建dataframe,并通过检查每行数据来创建新列:
输出:
您没有指定列的存储方式,但这听起来像是带有枚举的基本for循环的作业。 假设A和B是列表:
相关问题 更多 >
编程相关推荐