首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将选定的CSV文件头转换为Pandas数据帧

如何将选定的CSV文件头转换为Pandas数据帧
EN

Stack Overflow用户
提问于 2016-01-20 08:25:23
回答 1查看 58关注 0票数 0

我有以下CSV数据

代码语言:javascript
运行
复制
id,gene,celltype,stem,stem,stem,bcell,bcell,tcell
id,gene,organs,bm,bm,fl,pt,pt,bm
id,gene,organs,stem1,stem2,stem3,b1,b2,t1
134,foo,about_foo,20,10,11,23,22,79
222,bar,about_bar,17,13,55,12,13,88

前三行是标题。我要做的是选择第1行和第3行,并将其转换为如下所示的数据框架:

代码语言:javascript
运行
复制
Coln1 Coln2
stem  stem1
stem  stem2
stem  stem3
bcell b1
bcell b2
tcell t1

我被困在以下几个方面:

代码语言:javascript
运行
复制
import pandas as pd
df = pd.read_csv("http://dpaste.com/00AWDBW.txt",header=None,index_col=[1,2]).iloc[:, 1:]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-20 08:38:44

您可以在nrows中使用参数read_csvskiprows

代码语言:javascript
运行
复制
import pandas as pd
import io

temp=u"""id,gene,celltype,stem,stem,stem,bcell,bcell,tcell
id,gene,organs,bm,bm,fl,pt,pt,bm
id,gene,organs,stem1,stem2,stem3,b1,b2,t1
134,foo,about_foo,20,10,11,23,22,79
222,bar,about_bar,17,13,55,12,13,88"""

#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp),header=None,index_col=[1,2], nrows=2, skiprows=[1])
df = df.ix[:, 1:].reset_index(drop=True).T
df.columns = ['Coln1', 'Coln2']
print df.reset_index(drop=True)

   Coln1  Coln2
0   stem  stem1
1   stem  stem2
2   stem  stem3
3  bcell     b1
4  bcell     b2
5  tell     t1

若要将头3标题选择到列中,请执行以下操作:

代码语言:javascript
运行
复制
df = pd.read_csv(io.StringIO(temp),header=None,index_col=[1,2], nrows=3, skiprows=[4])
df = df.ix[:, 1:].reset_index(drop=True).T
df.columns = ['Coln1', 'Coln2','Coln3']
print df.reset_index(drop=True)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34894909

复制
相关文章

相似问题

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