數據來源:狗熊會–公衆號,結合python和tableau,做了簡單的頻數統計:疫情期間學生在家情況調查分析
對於下面的數據,每行都是用"┋"來隔開各個選項的,如果想提取裏面的學習、睡覺等的頻次,可以按照下面的步驟,其他列類似:
import pandas as pd
import re
excelFile = r'C:/Users/admin/Desktop/yiqing.xlsx'
data=pd.DataFrame(pd.read_excel(excelFile))
i=""
for c in list(data["7、疫情超長假期中您每天大部分時間主要都用來做什麼?"]):
i=i+str(c)+" "
這裏將列表中的每個元素變爲字符串相加後,還要添加一個空白字符,這樣才能將自動連接的效果看得清楚,也便於後面進行分割。
分割參考:re模塊正則表達
list1 = re.split(r'[┋\s]\s*', i)
正則匹配:1、┋、空格中任意一個;2、匹配任意個空格
df1 = pd.Series(list1[:-1]) #最後一個爲空格,所以捨棄
df1.value_counts()
學習 243
睡覺 207
追劇 140
聊天 109
打遊戲 83
看新聞 82
其他 75
dtype: int64
導出到csv文件參考:將Pandas Series轉換爲DataFrame
dict_df1 = {'thing':df1.value_counts().index,'count':df1.value_counts().values}
df_1 = pd.DataFrame(dict_df1)
df_1.to_csv('df_1.csv', index=False)