全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
3704 4
2019-08-06
悬赏 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文件形式匹配一下就行了。见附件。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-8-6 16:36:05
这个很简单,你只需要用pandas读取CSV形成一个dataframe就可以了,然后对这个dataframe用pivot_table函数做转换就可以了。
把这句话改成:df_abc=pd.read_csv("df_abc.csv"),你直接把数据根据csv文件形式匹配一下就行了。见附件。
附件: 您需要登录才可以下载或查看附件。没有帐号?我要注册
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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)
就得到你的结果了。效果如下






附件: 您需要登录才可以下载或查看附件。没有帐号?我要注册
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

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
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群