首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas dataframe to csv with classes

Pandas dataframe to csv with classes
EN

Stack Overflow用户
提问于 2015-04-18 18:00:10
回答 2查看 53关注 0票数 0

我尝试了许多不同的dataframe语句,但似乎无法通过pandas将此输出转换为csv格式。我想我犯了一个简单的错误,但我不知道到底是什么。它是nltk分类器的输出。下面是我的输出:

代码语言:javascript
复制
defaultdict(<type 'set'>, {'neg': set([3, 6, 8, 15, 21, 23, 38, 40, 44, 46, 47, 51, 52, 53, 55, 58, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115]), 'neutral': set([50, 4, 5, 93, 95, 43, 12, 45, 14, 79, 49, 37, 67, 113, 59, 60, 29, 31]), 'pos': set([0, 1, 2, 7, 9, 10, 11, 13, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 39, 41, 42, 48, 54, 56, 57, 61, 69, 83, 89])})
EN

回答 2

Stack Overflow用户

发布于 2015-04-18 18:26:17

不太清楚输出应该是什么,因为dict包含集合,但这应该可以工作:

代码语言:javascript
复制
pandas.DataFrame({k: list(v) for k, v in your_output.items()}).to_csv('yourfile.csv')
票数 0
EN

Stack Overflow用户

发布于 2015-12-02 19:04:52

pd.DataFrame生成矩阵。如果您传递一个dict,它将从dict.keys()生成列,并为每个[i, col]元素分配第i个值dict[col][i]。这就是为什么你不能用不同值的长度来传递dict。

在你的任务中,你可以这样做:

代码语言:javascript
复制
data = pd.DataFrame(columns=dd.keys())
for col, indexes in dd.items():
    for index in indexes:
        data.loc[index, col] = 1

data.fillna(0) # fill other values with 0

代码语言:javascript
复制
data = pd.DataFrame(columns=['sentiment'])


for col, indexes in dd.items():
    for index in indexes:
        data.loc[index, 'sentiment'] = col

其中dd是nltk分类器的结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29715733

复制
相关文章

相似问题

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