2016-07-13 1 views
1

숫자 0 대신 별표 (*)를 어떻게 얻을 수 있습니까? 대신 EMP의 dataframe의 열 샐 수 0숫자 0 대신 별표 (*)를 어떻게 얻을 수 있습니까?

emp.csv

import pandas as pd 
import io 

temp=u"""index empno ename job mgr hiredate sal comm deptno 
0, 7839, KING, PRESIDENT, 0, 1981-11-17,  5000, 0, 10 
1, 7698, BLAKE, MANAGER, 7839, 1981-05-01, 2850, 0, 30 
2, 7782, CLARK, MANAGER, 7839, 1981-05-09, 2450, 0, 10 
3, 7566, JONES, MANAGER, 7839, 1981-04-01, 2975, 0, 20 
4, 7654, MARTIN, SALESMAN, 7698, 1981-09-10, 1250, 1400, 30 
5, 7499, ALLEN, SALESMAN, 7698, 1981-02-11, 1600, 300, 30 
6, 7844, TURNER, SALESMAN, 7698, 1981-08-21, 1500, 0, 30 
7, 7900, JAMES, CLERK,  7698, 1981-12-11, 950, 0, 30 
8, 7521, WARD, SALESMAN, 7698, 1981-02-23, 1250, 500, 30 
9, 7902, FORD, ANALYST, 7566, 1981-12-11, 3000, 0, 20 
10, 7369, SMITH, CLERK,  7902, 1980-12-09, 800, 0, 20 
11, 7788, SCOTT, ANALYST, 7566, 1982-12-22, 3000, 0, 20 
12, 7876, ADAMS, CLERK,  7788, 1983-01-15, 1100, 0, 20 
13, 7934, MILLER, CLERK,  7782, 1982-01-11, 1300, 0, 10""" 
#after testing replace io.StringIO(temp) to filename 
emp = pd.read_csv(io.StringIO(temp), 
       skipinitialspace=True, 
       skiprows=1, 
       parse_dates=[5], 
       names=['index','empno','ename', 'job','mgr','hiredate','sal','comm','deptno']) 

내가 별표 (*)를 표시합니다.

팬더를 사용하여 아래 결과를 얻고 싶습니다.

result : 

5*** 
285* 
245* 
2975 
125* 
16** 
15** 
95* 
125* 
3*** 
8** 
3*** 
11** 
13** 

코드 :

import sys 

import pandas as pd 
import dateutil 



# Load data from csv file 
emp = pd.DataFrame.from_csv("D:\R data\emp.csv") 
# Convert date from string to date times 
emp['hiredate'] = emp['hiredate'].apply(dateutil.parser.parse, dayfirst=True) 


print(emp['sal'].replace(3,'f',inplace=True)) <----- I want change this line. 
+1

다음을 시도해 보았습니다. 행을 강조하려면> > emp [ 'sal'] = emp [ ' ('0', '*') – Carst

+0

대단히 감사합니다 !! –

+0

@Carst를 답변으로 게시 할 수 있습니까? – ayhan

답변

2
나중에 참조

(행복 나는 당신에게 도움을 줄 수) :

emp['sal'] = emp['sal'].astype(str) 
emp['sal'] = emp['sal'].str.replace('0', '*') 

설명하려면 먼저 우리가 할 필요가 문자열 (로 열을 캐스팅 대체). 그런 다음 파이썬 문자열 함수를 데이터 시리즈에서 직접 사용할 수있는 멋진 판다 연산 ".str"을 사용합니다. (".dt.weekday"와 같은 일을 할 수있는 datetime 변형이 있습니다.)

+1

답변 해 주셔서 감사합니다. –

관련 문제