需要对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
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()