2016-07-01 5 views
1

CSV 파일에서 읽어 들인 데이터 프레임을 가져오고 데이터 프레임 내의 각 열에 대한 산점도를 생성하려고합니다. 예를 들어, I는 df=pandas.readcsv()팬더 데이터 프레임의 for 루프로 열을 반복합니다.

Sample AMP ADP ATP 
1A  239847 239084 987374 
1B  245098 241210 988950 
2A  238759 200554 921032 
2B  230029 215408 899804 

I은 ​​X 값으로 샘플을 이용하여 산점도과 열 각각에 대한 영역을 생성하고자 다음과 같은 판독했다. 나는 각 열을 플롯 bokeh.plotting에 다음 코드를 사용하고

수동

import pandas 
from bokeh.plotting import figure, show 

df = pandas.read_csv("data.csv") 
p = figure(x_axis_label='Sample', y_axis_label='Peak Area', x_range=sorted(set(df['Sample']))) 
p.scatter(df['Sample'], df['AMP']) 
show(p) 

이 성공적으로 산포도를 생성하지만 각 열에 대한 산포도를 생성하는 루프를 만들고 싶습니다. 내 전체 데이터 세트에는 필자가 음모를 꾸미기를 원하는 500 개 이상의 컬럼이 있습니다.

데이터 프레임을 반복하는 데 df.iteritems 및 df.itertuples 사용에 대한 참조를 따라 왔지만 원하는 출력을 얻는 방법을 모르겠습니다.

for index, row in df.iteritems(): 
    p = figure() 
    p.scatter(df['Sample'], df[row]) 
    show(p) 

내가 바로 오류 충돌 :

raise KeyError('%s not in index' % objarr[mask] KeyError: "['1A' '1B' '2A' '2B'] not in index

모든 지침

나는 다음과 같은 시도? 미리 감사드립니다.

답변

0

iteritems 행이 아닌 행을 반복합니다. 하지만 실제 문제는 df[index] 대신 df[row]을 시도 할 때입니다. 문구를 열로 바꾸고 다음과 같이하십시오 :

for colname, col in df.iteritems(): 
p = figure() 
p.scatter(df['Sample'], df[colname]) 
show(p) 
관련 문제