我试图枢轴我的数据,以便我可以建立一个文件矩阵,但我遇到了一些错误,我试图枢轴我的数据。这是我试着搞砸它之前的原始数据。
tidy_filter1 = pd.DataFrame(df_tweetText["text"].str.split(expand = True).stack().reset_index())
tidy_filter = pd.DataFrame(tidy_filter1,index = tidy_format1["id"])
tidy_filter = tidy_filter1.rename(index = tidy_filter["id"], columns = {"level_1": "num",0:"word"})
tidy_filter1["level_1"] = tidy_filter1.groupby("id").cumcount()
tidy_filter = tidy_filter.drop(columns = ["id"])
tidy_filter = tidy_filter.rename(index = tidy_format1["id"])
id num word
1104159474368024599 0 repmiketurner
1104159474368024599 1 time
1104159474368024599 2 michael
1104159474368024599 3 cohen
1104159474368024599 4 told
1104159474368024599 5 truth
1104159474368024599 6 pled
1104159474368024599 7 guilty
1104159474368024599 8 also
1104159474368024599 9 said
1104159474368024599 10 collusion现在,当我试图运行下面的代码时,它就会崩溃。
df_freq = tidy_filter.pivot_table(values='word', index=tidy_filter.index, columns='word', aggfunc=pd.Series.count)这个错误给了我KeyError:'word‘,我不明白。我试图用the _filter的work替换值/列,但这不起作用。
**编辑:我正在寻找这个输出
id repmiketurner michael cohen told truth pled guilty also said collusion
1104159474368024599 1 1 1 1 1 1 1 1 1 1
1104155456019357703 0 0 0 1 1 0 0 1 0 0**编辑2:当我输入KeyError_filter‘’word‘时,它给了我一个不同的:'repmiketurner’
发布于 2019-03-19 03:29:56
我认为您的pivot_table命令必须更改--您交换了columns和values的参数。您只需要使用columns='word'和values='num'。
这就是对我起作用的东西
df_freq = tidy_filter.pivot_table(columns='word',
index=tidy_filter.index,
values='num',
aggfunc=pd.Series.count)
# Put pivot table columns in order of unique values of the 'word' column
word_unique = tidy_filter['word'].unique().tolist()
df_freq = df_freq[word_unique]
print(df_freq)
word repmiketurner time michael cohen told truth pled guilty also said collusion
id
1104159474368024599 1 1 1 1 1 1 1 1 1 1 1发布于 2019-03-19 01:14:02
我想你是在找pd.crosstab
pd.crosstab(df.id,df.word)https://stackoverflow.com/questions/55232249
复制相似问题