首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的数据中使用pivot_table时遇到的问题

在我的数据中使用pivot_table时遇到的问题
EN

Stack Overflow用户
提问于 2019-03-19 01:05:40
回答 2查看 76关注 0票数 0

我试图枢轴我的数据,以便我可以建立一个文件矩阵,但我遇到了一些错误,我试图枢轴我的数据。这是我试着搞砸它之前的原始数据。

代码语言:javascript
复制
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

现在,当我试图运行下面的代码时,它就会崩溃。

代码语言:javascript
复制
df_freq = tidy_filter.pivot_table(values='word', index=tidy_filter.index, columns='word', aggfunc=pd.Series.count)

这个错误给了我KeyError:'word‘,我不明白。我试图用the _filter的work替换值/列,但这不起作用。

**编辑:我正在寻找这个输出

代码语言:javascript
复制
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’

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-19 03:29:56

我认为您的pivot_table命令必须更改--您交换了columnsvalues的参数。您只需要使用columns='word'values='num'

这就是对我起作用的东西

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2019-03-19 01:14:02

我想你是在找pd.crosstab

代码语言:javascript
复制
pd.crosstab(df.id,df.word)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55232249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档