首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Pandas DataFrame的所有非数字行合并为一个

将Pandas DataFrame的所有非数字行合并为一个
EN

Stack Overflow用户
提问于 2013-07-19 10:35:03
回答 1查看 163关注 0票数 1

我正在尝试编写一个脚本,根据这些品质的列表计算一组品质的分数。我的数据帧如下所示:

代码语言:javascript
运行
复制
          qual1         qual2  ...   score
8  intellectual  intellectual  ...       8
7         funny   charismatic  ...       7
6         witty     ambitious  ...       6
5      outgoing        honest  ...       5
4   adventurous        active  ...       4
3           NaN   adventurous  ...       3
2           NaN      outgoing  ...       2

我想得到这样的东西:

代码语言:javascript
运行
复制
      quals     score
intellectual        8
funny               7
witty               6
outgoing            5
adventurous         4
intellectual        8
charismatic         7
ambitious           6
honest              5
active              4
adventurous         3
outgoing            2

我不知道该怎么做,所以很遗憾没有代码示例:(

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-19 10:46:57

一种方法是使用pd.melt

代码语言:javascript
运行
复制
>>> df
          qual1         qual2  score
0  intellectual  intellectual      8
1         funny   charismatic      7
2         witty     ambitious      6
3      outgoing        honest      5
4   adventurous        active      4
5           NaN   adventurous      3
6           NaN      outgoing      2
>>> pd.melt(df, "score").rename(columns={"value": "quals"}).dropna()[["quals", "score"]]
           quals  score
0   intellectual      8
1          funny      7
2          witty      6
3       outgoing      5
4    adventurous      4
7   intellectual      8
8    charismatic      7
9      ambitious      6
10        honest      5
11        active      4
12   adventurous      3
13      outgoing      2
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17737245

复制
相关文章

相似问题

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