Python 如何使用pandas从dataframe中的列接收第一个字符串?
emp.csv 我想使用pandas获得列ename的第一个字符串,如下面的结果Python 如何使用pandas从dataframe中的列接收第一个字符串?,python,Python,emp.csv 我想使用pandas获得列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,
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'])
我应该如何使用熊猫获得上述结果
代码:
K
B
C
J
M
A
T
J
W
F
S
S
A
M
将熊猫作为pd导入
输入io
temp=u“”“索引empno ename作业经理雇佣sal通信部门
0,7839,国王,总统,0,1981-11-175000,0,10
17698,布莱克,经理,78391981-05-012850,0,30
277882,克拉克,经理,78391981-05-092450,0,10
37566,琼斯,经理,78391981-04-012975,0,20
马丁,推销员,76981981-09-10125014030
艾伦,销售员,76981981-02-11160030030
67844,特纳,销售员,76981981-08-211500,0,30
7,7900,詹姆斯,书记,76981981-12-11950,0,30
87521,沃德,销售员,76981981-02-23125050030
7902,福特,分析师,75661981-12-113000020
史密斯,职员,79021980-12-09800,0,20
117788,斯科特,分析师,75661982-12-223000,0,20
1287876,亚当斯,书记,77881983-01-1511000,20
137934,米勒,职员,77821982-01-1113000,10“
#测试后,将io.StringIO(temp)替换为文件名
emp=pd.read\U csv(io.StringIO(temp),
skipinitialspace=True,
skiprows=1,
parse_dates=[5],
名称=['index'、'empno'、'ename'、'job'、'mgr'、'hiredate'、'sal'、'comm'、'deptno'])
emprusult= 您可以尝试以下代码:
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)
它将创建另一个名为firstEname
的列,并用每个ename
出现的第一个字符填充该列
emp['firstEname']
的输出:
emp['firstEname'] = emp['ename'].apply(lambda x: x[0])
不客气!请,如果这个答案帮助你,考虑接受它!我想接受你的回答。我如何在此网站接受您的答案?选中答案旁边的复选标记,将其从空心切换为绿色。有关更多信息:
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