大家好,我是皮皮。
一、前言
前几天在Python最强王者群【wen】问了一个pandas
数据处理的问题,一起来看看吧。
通过pandas读取excel数据,其中两列是交易的备注信息,对A列数据筛选并把结果输出到C列。如果A列中有['吉利','奔驰','福特']三个字段,C列标记为‘汽车品牌’,如果A列有['NIKE','李宁','安涛'],C列标记为‘运动品牌’。
二、实现过程
这里【东哥】给了一个代码,如下所示:
import pandas as pd
df = pd.read_excel("测试数据.xlsx", names=["A", "B"])
def match_word(word):
for w in ('吉利', '奔驰', '福特'):
if w in word:
return "汽车品牌"
for w in ('NIKE', '李宁', '安踏'):
if w in word:
return "运动品牌"
else:
return None
df["res"] = df["A"].apply(lambda x: match_word(x))
print(df)
这里先自定义了一个函数,用于实现匹配的功能,代码运行之后,测试无误,顺利地解决了粉丝的问题。
大家好,我是皮皮。
一、前言
前几天在Python最强王者群【wen】问了一个pandas
数据处理的问题,一起来看看吧。
通过pandas读取excel数据,其中两列是交易的备注信息,对A列数据筛选并把结果输出到C列。如果A列中有['吉利','奔驰','福特']三个字段,C列标记为‘汽车品牌’,如果A列有['NIKE','李宁','安涛'],C列标记为‘运动品牌’。
二、实现过程
这里【东哥】给了一个代码,如下所示:
import pandas as pd
df = pd.read_excel("测试数据.xlsx", names=["A", "B"])
def match_word(word):
for w in ('吉利', '奔驰', '福特'):
if w in word:
return "汽车品牌"
for w in ('NIKE', '李宁', '安踏'):
if w in word:
return "运动品牌"
else:
return None
df["res"] = df["A"].apply(lambda x: match_word(x))
print(df)
这里先自定义了一个函数,用于实现匹配的功能,代码运行之后,测试无误,顺利地解决了粉丝的问题。
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Pandas
数据处理问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【wen】提问,感谢【东哥】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。
【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
标签:yyds,word,df,代码,excel,盘点,return,pandas From: https://blog.51cto.com/u_13389043/7194386