首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将熊猫数据中的两列整数连接到元组的一列。

将熊猫数据中的两列整数连接到元组的一列。
EN

Stack Overflow用户
提问于 2022-05-04 01:05:40
回答 3查看 65关注 0票数 0

我希望将两列特性组合成一列,其中每一行将表示一个数据点作为一个元组。

例如,下面是我的数据框架:

代码语言:javascript
复制
      Weather  Temp  Play
0         2     1     0
1         2     1     0
2         0     1     1
3         1     2     1
4         1     0     1
5         1     0     0

我想让它看起来像这样:

代码语言:javascript
复制
                 x     Play
0              (2,1)     0
1              (2,1)     0
2              (0,1)     1
3              (1,2)     1
4              (1,0)     1
5              (1,0)     0

然后,我想将它用于伯努利朴素贝叶斯的model.fit(dfx,dfPlay)。

这有可能吗?我尽量避免使用列表。下一次我如何为n列这样做呢?

EN

回答 3

Stack Overflow用户

发布于 2022-05-04 02:17:58

您可以使用zip

代码语言:javascript
复制
df['x'] = list(zip(df.Weather, df.Temp))

   Weather  Temp  Play       x
0        1     1     4  (1, 1)
1        2     1     5  (2, 1)
2        3     1     6  (3, 1)
票数 1
EN

Stack Overflow用户

发布于 2022-05-04 01:13:02

df.apply()可用于各种异常情况,如以下情况:

代码语言:javascript
复制
df['x'] = df.apply(lambda x: (x.Weather, x.Temp), axis=1)

输出:

代码语言:javascript
复制
   Weather  Temp  Play       x
0        2     1     0  (2, 1)
1        2     1     0  (2, 1)
2        0     1     1  (0, 1)
3        1     2     1  (1, 2)
4        1     0     1  (1, 0)
5        1     0     0  (1, 0)
票数 0
EN

Stack Overflow用户

发布于 2022-05-04 02:56:48

为了补充@SruthiV的答案,如果您想获得所示的格式(您可以用一个新的替换2列),您可以删除这些列,同时将它们与pop一起使用

代码语言:javascript
复制
df['x'] = list(zip(df.pop('Weather'), df.pop('Temp')))

输出:

代码语言:javascript
复制
   Play       x
0     0  (2, 1)
1     0  (2, 1)
2     1  (0, 1)
3     1  (1, 2)
4     1  (1, 0)
5     0  (1, 0)

类似地,如果您想在(第一个)上一个列的位置上insert新列:

代码语言:javascript
复制
df.insert(df.columns.get_loc('Weather'), 'x',
          list(zip(df.pop('Weather'), df.pop('Temp'))))

注意:这一行动已经到位

输出:

代码语言:javascript
复制
        x  Play
0  (2, 1)     0
1  (2, 1)     0
2  (0, 1)     1
3  (1, 2)     1
4  (1, 0)     1
5  (1, 0)     0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72106937

复制
相关文章

相似问题

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