pandas处理标签-列表值处理

需要对DataFrame中的公司福利这一列做处理。
公司福利都有哪一些?哪些福利是普遍的?
在这里插入图片描述
在这里插入图片描述
读取数据后发现pandas读取的数据是字符串类型且存在一些空值。
大概思路就是我们可以把字符串最左边和最右边的 [ ] 去掉,然后把字符串中的空格替换为空字符串,然后再去掉缺失值,再以 “,” 分割为一个列表,再利用pd.value_counts()统计福利个数种类。最后效果是这样:
在这里插入图片描述
在这里插入图片描述
代码:

import pandas as pd
df=pd.read_csv('DataAnalyst.csv')
welfare = df.公司福利.str[1:-1].str.replace(' ','').dropna().str.split(',').apply(pd.value_counts)
pd.set_option('display.max_columns', None)
welfare

DataAnalyst.csv

welfare.unstack().dropna().reset_index().head()

在这里插入图片描述

from wordcloud import WordCloud
plt.rcParams['font.sans-serif']=['SimHei']#解决中文乱码
plt.rcParams['axes.unicode_minus']=False#解决符号乱码
df_word_counts = welfare.unstack().dropna().reset_index().groupby('level_0').count()
df_word_counts.index = df_word_counts.index.str.replace("'",'')

wordcloud = WordCloud(font_path="simsun.ttc",width=900,height=400,background_color='white')

f,axs = plt.subplots(figsize=(15,15))
wordcloud.fit_words(df_word_counts.level_1)
axs = plt.imshow(wordcloud)
plt.axis('off')
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铃音.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值