import numpy as np
import pandas as pd
from pandas import Series,DataFrame,MultiIndex
数据级联
将两个DataFrame或Series进行拼接,按索引标签对齐
- pd.conncat() 列拼接
- pd.append() 行拼接
df1 = DataFrame(np.random.randint(1,150,size=(6,3)),['甲','乙','丙','丁','戊','己'],['Python','Flask','FastAPI'])
df2 = DataFrame(np.random.randint(1,150,size=(6,3)),['甲','乙','丙','丁','A','B'],['Python','Tornado','Pulsar'])
display(df1,df2)
|
Python |
Flask |
FastAPI |
甲 |
86 |
91 |
125 |
乙 |
114 |
73 |
41 |
丙 |
20 |
90 |
37 |
丁 |
96 |
84 |
134 |
戊 |
47 |
78 |
22 |
己 |
80 |
43 |
90 |
|
Python |
Tornado |
Pulsar |
甲 |
13 |
29 |
3 |
乙 |
103 |
12 |
81 |
丙 |
21 |
101 |
62 |
丁 |
24 |
26 |
121 |
A |
76 |
106 |
134 |
B |
33 |
23 |
104 |
"""
pd.concat(
objs,
axis=0,
join='outer',
join_axes=None,
ignore_index=False,
keys=None,
levels=None,
names=None,
verify_integrity=False,
sort=None,
copy=True,
)
"""
pd.concat((df1,df2),sort=False)
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
pd.concat((df1,df2),join='inner',sort=False)
|
Python |
甲 |
86 |
乙 |
114 |
丙 |
20 |
丁 |
96 |
戊 |
47 |
己 |
80 |
甲 |
13 |
乙 |
103 |
丙 |
21 |
丁 |
24 |
A |
76 |
B |
33 |
"""
ignore_index : bool, default False
If True, do not use the index values along the concatenation axis. The
resulting axis will be labeled 0, ..., n - 1. This is useful if you are
concatenating objects where the concatenation axis does not have
meaningful indexing information. Note the index values on the other
axes are still respected in the join.
"""
pd.concat((df1,df2),join='inner',ignore_index=True,sort=False)
|
Python |
0 |
86 |
1 |
114 |
2 |
20 |
3 |
96 |
4 |
47 |
5 |
80 |
6 |
13 |
7 |
103 |
8 |
21 |
9 |
24 |
10 |
76 |
11 |
33 |
pd.concat((df1,df2),join='outer',ignore_index=False,sort=False)
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
pd.concat((df1,df2),join='outer',ignore_index=False,keys=['期中','期末'],sort=False)
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
df3 =pd.concat((df1,df2),join='outer',ignore_index=False,keys=['期中','期末'],sort=False)
df3
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
df4 =df3.copy()
df4
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
pd.concat((df3,df4),levels=['期中','期末'],axis=1)
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
33 |
NaN |
NaN |
23.0 |
104.0 |
pd.concat((df3,df4),axis=1)
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
33 |
NaN |
NaN |
23.0 |
104.0 |
pd.concat((df3,df4),levels=['中','末'],axis=1)
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
33 |
NaN |
NaN |
23.0 |
104.0 |
pd.concat((df3,df4),axis=1)
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
33 |
NaN |
NaN |
23.0 |
104.0 |
pd.concat((df3,df4),axis=1,keys=['2019年的第一学期','2019年的第二学期'])
|
|
2019年的第一学期 |
2019年的第二学期 |
|
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
期中 |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
80 |
43.0 |
90.0 |
NaN |
NaN |
期末 |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
33 |
NaN |
NaN |
23.0 |
104.0 |
df1.append(df2,sort=False)
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
甲 |
86 |
91.0 |
125.0 |
NaN |
NaN |
乙 |
114 |
73.0 |
41.0 |
NaN |
NaN |
丙 |
20 |
90.0 |
37.0 |
NaN |
NaN |
丁 |
96 |
84.0 |
134.0 |
NaN |
NaN |
戊 |
47 |
78.0 |
22.0 |
NaN |
NaN |
己 |
80 |
43.0 |
90.0 |
NaN |
NaN |
甲 |
13 |
NaN |
NaN |
29.0 |
3.0 |
乙 |
103 |
NaN |
NaN |
12.0 |
81.0 |
丙 |
21 |
NaN |
NaN |
101.0 |
62.0 |
丁 |
24 |
NaN |
NaN |
26.0 |
121.0 |
A |
76 |
NaN |
NaN |
106.0 |
134.0 |
B |
33 |
NaN |
NaN |
23.0 |
104.0 |
df5 =df1.append(df2,ignore_index=True,sort=False)
df5
|
Python |
Flask |
FastAPI |
Tornado |
Pulsar |
0 |
86 |
91.0 |
125.0 |
NaN |
NaN |
1 |
114 |
73.0 |
41.0 |
NaN |
NaN |
2 |
20 |
90.0 |
37.0 |
NaN |
NaN |
3 |
96 |
84.0 |
134.0 |
NaN |
NaN |
4 |
47 |
78.0 |
22.0 |
NaN |
NaN |
5 |
80 |
43.0 |
90.0 |
NaN |
NaN |
6 |
13 |
NaN |
NaN |
29.0 |
3.0 |
7 |
103 |
NaN |
NaN |
12.0 |
81.0 |
8 |
21 |
NaN |
NaN |
101.0 |
62.0 |
9 |
24 |
NaN |
NaN |
26.0 |
121.0 |
10 |
76 |
NaN |
NaN |
106.0 |
134.0 |
11 |
33 |
NaN |
NaN |
23.0 |
104.0 |
df5.index
RangeIndex(start=0, stop=12, step=1)
df5.loc[3]
Python 96.0
Flask 84.0
FastAPI 134.0
Tornado NaN
Pulsar NaN
Name: 3, dtype: float64
df5.loc[4]
Python 47.0
Flask 78.0
FastAPI 22.0
Tornado NaN
Pulsar NaN
Name: 4, dtype: float64
df5.loc[5]
Python 80.0
Flask 43.0
FastAPI 90.0
Tornado NaN
Pulsar NaN
Name: 5, dtype: float64
数据合并
将两个DataFrame表的数据进行合并,同mysql的join连接。
cate = DataFrame({
'id':[i for i in range(1,6)],
'name':['美食','音乐','视频','笑话','军事']
})
cate
|
id |
name |
0 |
1 |
美食 |
1 |
2 |
音乐 |
2 |
3 |
视频 |
3 |
4 |
笑话 |
4 |
5 |
军事 |
import time
titles = []
cate_ids = []
for i in range(1,21):
item = cate.loc[np.random.choice(cate.index)]
titles.append(f'{item["name"]}-{time.time()}')
cate_ids.append(item['id'])
content = DataFrame({
'id':[i for i in range(1,21)],
'title':titles,
'cate_id':cate_ids
})
content
|
id |
title |
cate_id |
0 |
1 |
军事-1649392870.4940078 |
5 |
1 |
2 |
美食-1649392870.4940078 |
1 |
2 |
3 |
视频-1649392870.4950054 |
3 |
3 |
4 |
视频-1649392870.4950054 |
3 |
4 |
5 |
音乐-1649392870.4950054 |
2 |
5 |
6 |
美食-1649392870.4950054 |
1 |
6 |
7 |
军事-1649392870.4950054 |
5 |
7 |
8 |
笑话-1649392870.496003 |
4 |
8 |
9 |
视频-1649392870.496003 |
3 |
9 |
10 |
音乐-1649392870.496003 |
2 |
10 |
11 |
军事-1649392870.496003 |
5 |
11 |
12 |
笑话-1649392870.4970002 |
4 |
12 |
13 |
笑话-1649392870.4970002 |
4 |
13 |
14 |
美食-1649392870.4970002 |
1 |
14 |
15 |
视频-1649392870.4970002 |
3 |
15 |
16 |
笑话-1649392870.4970002 |
4 |
16 |
17 |
美食-1649392870.4979968 |
1 |
17 |
18 |
军事-1649392870.4979968 |
5 |
18 |
19 |
音乐-1649392870.4979968 |
2 |
19 |
20 |
视频-1649392870.4979968 |
3 |
display(cate,content)
|
id |
name |
0 |
1 |
美食 |
1 |
2 |
音乐 |
2 |
3 |
视频 |
3 |
4 |
笑话 |
4 |
5 |
军事 |
|
id |
title |
cate_id |
0 |
1 |
军事-1649392870.4940078 |
5 |
1 |
2 |
美食-1649392870.4940078 |
1 |
2 |
3 |
视频-1649392870.4950054 |
3 |
3 |
4 |
视频-1649392870.4950054 |
3 |
4 |
5 |
音乐-1649392870.4950054 |
2 |
5 |
6 |
美食-1649392870.4950054 |
1 |
6 |
7 |
军事-1649392870.4950054 |
5 |
7 |
8 |
笑话-1649392870.496003 |
4 |
8 |
9 |
视频-1649392870.496003 |
3 |
9 |
10 |
音乐-1649392870.496003 |
2 |
10 |
11 |
军事-1649392870.496003 |
5 |
11 |
12 |
笑话-1649392870.4970002 |
4 |
12 |
13 |
笑话-1649392870.4970002 |
4 |
13 |
14 |
美食-1649392870.4970002 |
1 |
14 |
15 |
视频-1649392870.4970002 |
3 |
15 |
16 |
笑话-1649392870.4970002 |
4 |
16 |
17 |
美食-1649392870.4979968 |
1 |
17 |
18 |
军事-1649392870.4979968 |
5 |
18 |
19 |
音乐-1649392870.4979968 |
2 |
19 |
20 |
视频-1649392870.4979968 |
3 |
display(cate,content.head())
|
id |
name |
0 |
1 |
美食 |
1 |
2 |
音乐 |
2 |
3 |
视频 |
3 |
4 |
笑话 |
4 |
5 |
军事 |
|
id |
title |
cate_id |
0 |
1 |
军事-1649392870.4940078 |
5 |
1 |
2 |
美食-1649392870.4940078 |
1 |
2 |
3 |
视频-1649392870.4950054 |
3 |
3 |
4 |
视频-1649392870.4950054 |
3 |
4 |
5 |
音乐-1649392870.4950054 |
2 |
pd.merge(cate,content)
|
id |
name |
title |
cate_id |
0 |
1 |
美食 |
军事-1649392870.4940078 |
5 |
1 |
2 |
音乐 |
美食-1649392870.4940078 |
1 |
2 |
3 |
视频 |
视频-1649392870.4950054 |
3 |
3 |
4 |
笑话 |
视频-1649392870.4950054 |
3 |
4 |
5 |
军事 |
音乐-1649392870.4950054 |
2 |
pd.merge(cate,content,left_on='id',right_on='cate_id')
|
id_x |
name |
id_y |
title |
cate_id |
0 |
1 |
美食 |
2 |
美食-1649392870.4940078 |
1 |
1 |
1 |
美食 |
6 |
美食-1649392870.4950054 |
1 |
2 |
1 |
美食 |
14 |
美食-1649392870.4970002 |
1 |
3 |
1 |
美食 |
17 |
美食-1649392870.4979968 |
1 |
4 |
2 |
音乐 |
5 |
音乐-1649392870.4950054 |
2 |
5 |
2 |
音乐 |
10 |
音乐-1649392870.496003 |
2 |
6 |
2 |
音乐 |
19 |
音乐-1649392870.4979968 |
2 |
7 |
3 |
视频 |
3 |
视频-1649392870.4950054 |
3 |
8 |
3 |
视频 |
4 |
视频-1649392870.4950054 |
3 |
9 |
3 |
视频 |
9 |
视频-1649392870.496003 |
3 |
10 |
3 |
视频 |
15 |
视频-1649392870.4970002 |
3 |
11 |
3 |
视频 |
20 |
视频-1649392870.4979968 |
3 |
12 |
4 |
笑话 |
8 |
笑话-1649392870.496003 |
4 |
13 |
4 |
笑话 |
12 |
笑话-1649392870.4970002 |
4 |
14 |
4 |
笑话 |
13 |
笑话-1649392870.4970002 |
4 |
15 |
4 |
笑话 |
16 |
笑话-1649392870.4970002 |
4 |
16 |
5 |
军事 |
1 |
军事-1649392870.4940078 |
5 |
17 |
5 |
军事 |
7 |
军事-1649392870.4950054 |
5 |
18 |
5 |
军事 |
11 |
军事-1649392870.496003 |
5 |
19 |
5 |
军事 |
18 |
军事-1649392870.4979968 |
5 |
pd.merge(cate,content,left_on='id',right_on='cate_id',suffixes=['_cate','_content'])
|
id_cate |
name |
id_content |
title |
cate_id |
0 |
1 |
美食 |
2 |
美食-1649392870.4940078 |
1 |
1 |
1 |
美食 |
6 |
美食-1649392870.4950054 |
1 |
2 |
1 |
美食 |
14 |
美食-1649392870.4970002 |
1 |
3 |
1 |
美食 |
17 |
美食-1649392870.4979968 |
1 |
4 |
2 |
音乐 |
5 |
音乐-1649392870.4950054 |
2 |
5 |
2 |
音乐 |
10 |
音乐-1649392870.496003 |
2 |
6 |
2 |
音乐 |
19 |
音乐-1649392870.4979968 |
2 |
7 |
3 |
视频 |
3 |
视频-1649392870.4950054 |
3 |
8 |
3 |
视频 |
4 |
视频-1649392870.4950054 |
3 |
9 |
3 |
视频 |
9 |
视频-1649392870.496003 |
3 |
10 |
3 |
视频 |
15 |
视频-1649392870.4970002 |
3 |
11 |
3 |
视频 |
20 |
视频-1649392870.4979968 |
3 |
12 |
4 |
笑话 |
8 |
笑话-1649392870.496003 |
4 |
13 |
4 |
笑话 |
12 |
笑话-1649392870.4970002 |
4 |
14 |
4 |
笑话 |
13 |
笑话-1649392870.4970002 |
4 |
15 |
4 |
笑话 |
16 |
笑话-1649392870.4970002 |
4 |
16 |
5 |
军事 |
1 |
军事-1649392870.4940078 |
5 |
17 |
5 |
军事 |
7 |
军事-1649392870.4950054 |
5 |
18 |
5 |
军事 |
11 |
军事-1649392870.496003 |
5 |
19 |
5 |
军事 |
18 |
军事-1649392870.4979968 |
5 |
content
|
id |
title |
cate_id |
0 |
1 |
军事-1649392870.4940078 |
5 |
1 |
2 |
美食-1649392870.4940078 |
1 |
2 |
3 |
视频-1649392870.4950054 |
3 |
3 |
4 |
视频-1649392870.4950054 |
3 |
4 |
5 |
音乐-1649392870.4950054 |
2 |
5 |
6 |
美食-1649392870.4950054 |
1 |
6 |
7 |
军事-1649392870.4950054 |
5 |
7 |
8 |
笑话-1649392870.496003 |
4 |
8 |
9 |
视频-1649392870.496003 |
3 |
9 |
10 |
音乐-1649392870.496003 |
2 |
10 |
11 |
军事-1649392870.496003 |
5 |
11 |
12 |
笑话-1649392870.4970002 |
4 |
12 |
13 |
笑话-1649392870.4970002 |
4 |
13 |
14 |
美食-1649392870.4970002 |
1 |
14 |
15 |
视频-1649392870.4970002 |
3 |
15 |
16 |
笑话-1649392870.4970002 |
4 |
16 |
17 |
美食-1649392870.4979968 |
1 |
17 |
18 |
军事-1649392870.4979968 |
5 |
18 |
19 |
音乐-1649392870.4979968 |
2 |
19 |
20 |
视频-1649392870.4979968 |
3 |
content.loc[3]
id 4
title 视频-1649392870.4950054
cate_id 3
Name: 3, dtype: object
content.loc[3,'cate_id'] = 6
content.head()
|
id |
title |
cate_id |
0 |
1 |
军事-1649392870.4940078 |
5 |
1 |
2 |
美食-1649392870.4940078 |
1 |
2 |
3 |
视频-1649392870.4950054 |
3 |
3 |
4 |
视频-1649392870.4950054 |
6 |
4 |
5 |
音乐-1649392870.4950054 |
2 |
pd.merge(cate,content,left_on='id',right_on='cate_id',suffixes=['_cate','_content'])
|
id_cate |
name |
id_content |
title |
cate_id |
0 |
1 |
美食 |
2 |
美食-1649392870.4940078 |
1 |
1 |
1 |
美食 |
6 |
美食-1649392870.4950054 |
1 |
2 |
1 |
美食 |
14 |
美食-1649392870.4970002 |
1 |
3 |
1 |
美食 |
17 |
美食-1649392870.4979968 |
1 |
4 |
2 |
音乐 |
5 |
音乐-1649392870.4950054 |
2 |
5 |
2 |
音乐 |
10 |
音乐-1649392870.496003 |
2 |
6 |
2 |
音乐 |
19 |
音乐-1649392870.4979968 |
2 |
7 |
3 |
视频 |
3 |
视频-1649392870.4950054 |
3 |
8 |
3 |
视频 |
9 |
视频-1649392870.496003 |
3 |
9 |
3 |
视频 |
15 |
视频-1649392870.4970002 |
3 |
10 |
3 |
视频 |
20 |
视频-1649392870.4979968 |
3 |
11 |
4 |
笑话 |
8 |
笑话-1649392870.496003 |
4 |
12 |
4 |
笑话 |
12 |
笑话-1649392870.4970002 |
4 |
13 |
4 |
笑话 |
13 |
笑话-1649392870.4970002 |
4 |
14 |
4 |
笑话 |
16 |
笑话-1649392870.4970002 |
4 |
15 |
5 |
军事 |
1 |
军事-1649392870.4940078 |
5 |
16 |
5 |
军事 |
7 |
军事-1649392870.4950054 |
5 |
17 |
5 |
军事 |
11 |
军事-1649392870.496003 |
5 |
18 |
5 |
军事 |
18 |
军事-1649392870.4979968 |
5 |
pd.merge(cate,content,left_on='id',right_on='cate_id',suffixes=['_cate','_content'],how='outer')
|
id_cate |
name |
id_content |
title |
cate_id |
0 |
1.0 |
美食 |
2 |
美食-1649392870.4940078 |
1 |
1 |
1.0 |
美食 |
6 |
美食-1649392870.4950054 |
1 |
2 |
1.0 |
美食 |
14 |
美食-1649392870.4970002 |
1 |
3 |
1.0 |
美食 |
17 |
美食-1649392870.4979968 |
1 |
4 |
2.0 |
音乐 |
5 |
音乐-1649392870.4950054 |
2 |
5 |
2.0 |
音乐 |
10 |
音乐-1649392870.496003 |
2 |
6 |
2.0 |
音乐 |
19 |
音乐-1649392870.4979968 |
2 |
7 |
3.0 |
视频 |
3 |
视频-1649392870.4950054 |
3 |
8 |
3.0 |
视频 |
9 |
视频-1649392870.496003 |
3 |
9 |
3.0 |
视频 |
15 |
视频-1649392870.4970002 |
3 |
10 |
3.0 |
视频 |
20 |
视频-1649392870.4979968 |
3 |
11 |
4.0 |
笑话 |
8 |
笑话-1649392870.496003 |
4 |
12 |
4.0 |
笑话 |
12 |
笑话-1649392870.4970002 |
4 |
13 |
4.0 |
笑话 |
13 |
笑话-1649392870.4970002 |
4 |
14 |
4.0 |
笑话 |
16 |
笑话-1649392870.4970002 |
4 |
15 |
5.0 |
军事 |
1 |
军事-1649392870.4940078 |
5 |
16 |
5.0 |
军事 |
7 |
军事-1649392870.4950054 |
5 |
17 |
5.0 |
军事 |
11 |
军事-1649392870.496003 |
5 |
18 |
5.0 |
军事 |
18 |
军事-1649392870.4979968 |
5 |
19 |
NaN |
NaN |
4 |
视频-1649392870.4950054 |
6 |