楼主: wufan199567
3676 4

[其他] 求教,python里如何把这个数据集形成矩阵 [推广有奖]

  • 0关注
  • 0粉丝

高中生

47%

还不是VIP/贵宾

-

威望
0
论坛币
40 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
123 点
帖子
3
精华
0
在线时间
55 小时
注册时间
2017-4-9
最后登录
2020-7-3

楼主
wufan199567 发表于 2019-8-6 16:36:04 |AI写论文
40论坛币
python里如何把这个数据集变成我要的这种形式,本来的数据量比较大,这里只是一丢丢样本,第一列是纵向名称,第二列是横向名称,最后一列是要形成矩阵的数值,读入是CSV档,读出也是CSV档,应该是要用到numpy和pandas,但具体的不会,求大神帮忙
原始数据集
AABBCC
aa

12

ab

10

ac

12

ba

13

bb

15

bc

17

ca

23

cb

67

cc

45



我需要的数据集
abc
a

12

10

12

b

13

15

17

c

23

67

45



最佳答案

brianlyang 查看完整内容

这个很简单,你只需要用pandas读取CSV形成一个dataframe就可以了,然后对这个dataframe用pivot_table函数做转换就可以了。 把这句话改成:df_abc=pd.read_csv("df_abc.csv"),你直接把数据根据csv文件形式匹配一下就行了。见附件。
关键词:python 数据集 pandas panda Numpy python Python基础 Python处理

沙发
brianlyang 发表于 2019-8-6 16:36:05
这个很简单,你只需要用pandas读取CSV形成一个dataframe就可以了,然后对这个dataframe用pivot_table函数做转换就可以了。
把这句话改成:df_abc=pd.read_csv("df_abc.csv"),你直接把数据根据csv文件形式匹配一下就行了。见附件。
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 30 + 3 + 3 + 3 热心帮助其他会员

总评分: 论坛币 + 30  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

藤椅
brianlyang 发表于 2019-8-7 11:23:28
这个本质上是一维表转二维表的问题,就是交叉分析展示。用到pandas的pivot_table函数就能很方便的处理了。
代码如下:import pandas as pd
abc={'AA':['a','a','a','b','b','b','c','c','c'],'BB':['a','b','c','a','b','c','a','b','c'],'CC':[12,10,12,13,15,17,23,67,45]}
df_abc=pd.DataFrame(abc)
print(df_abc)

a1=pd.pivot_table(df_abc,values='CC',index=['AA'],columns=['BB'])
print(a1)
就得到你的结果了。效果如下






附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

板凳
wufan199567 发表于 2019-8-8 09:51:48
那如果是很多数据呢,就是要输入excel表的那种,我不可能挨个去把数据写出来吧~~~

报纸
dqwy 发表于 2019-8-8 23:29:24
我想到多级索引:
import pandas as pd
abc={'AA':['a','a','a','b','b','b','c','c','c'],'BB':['a','b','c','a','b','c','a','b','c'],'CC':[12,10,12,13,15,17,23,67,45]}
df_abc=pd.DataFrame(abc)
print(df_abc)
##以上,你可以直接用pandas读取CSV,形成df_abc

my_data = pd.Series(df_abc.CC.values, index=[df_abc.AA, df_abc.BB]) #多级索引
my_data.unstack() #索引展开
my_data
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-30 12:38