2016-07-12 5 views
2

는 팬더를 사용하여 같은 결과를 다음과 같이팬더를 사용하여 데이터 프레임의 열에서 첫 번째 문자열을 어떻게 받아야합니까?

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']) 

내가 열 ENAME의 첫 번째 문자열을 얻으려면을 emp.csv.

K 
B 
C 
J 
M 
A 
T 
J 
W 
F 
S 
S 
A 
M 

팬더를 사용하면 위의 결과를 어떻게 얻을 수 있습니까?

코드 :

나는 판다를 사용하여 열 ENAME의 첫 번째 문자열을 얻을 수있는 방법
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']) 

    emprusult = ? <--- i want to this code. 

    print(emprusult) 

?

답변

2

이 코드를 시도 할 수 있습니다 :

emp['firstEname'] = emp['ename'].apply(lambda x: x[0]) 

이 다른 열이 firstEname라는 만들고 각 ename 발생의 첫 번째 문자를 채울 것입니다. emp['firstEname']에 대한

출력 :

0  K 
1  B 
2  C 
3  J 
4  M 
5  A 
6  T 
7  J 
8  W 
9  F 
10 S 
11 S 
12 A 
13 M 
Name: firstEname, dtype: object 
+0

가 대단히 감사합니다 !!!! –

+0

여러분을 환영합니다! 제발,이 대답이 당신을 도운다면, 그것을 받아들이십시오! –

+0

답변을 수락하고 싶습니다. 이 사이트에서 어떻게 대답 할 수 있습니까? –

관련 문제