Python Pandas-数据帧与系列值的合并
我有一个数据帧(doc2),它基本上看起来像:Python Pandas-数据帧与系列值的合并,python,pandas,Python,Pandas,我有一个数据帧(doc2),它基本上看起来像: Index AgeGroups Factor Cancer 0 0_5 wo-statin Yes 1 6_10 wo-statin Yes 2 11_15 wo-statin Yes 3 16_20 wo-statin Yes 4 21_25 wo-statin Yes 5
Index AgeGroups Factor Cancer
0 0_5 wo-statin Yes
1 6_10 wo-statin Yes
2 11_15 wo-statin Yes
3 16_20 wo-statin Yes
4 21_25 wo-statin Yes
5 26_30 wo-statin Yes
6 31_35 wo-statin Yes
7 36_40 wo-statin Yes
8 41_45 wo-statin Yes
9 46_50 wo-statin Yes
10 51_55 wo-statin Yes
11 56_60 wo-statin Yes
12 61_65 wo-statin Yes
13 66_70 wo-statin Yes
14 71_75 wo-statin Yes
15 76_80 wo-statin Yes
16 81_85 wo-statin Yes
17 86_90 wo-statin Yes
18 91_95 wo-statin Yes
19 96_100 wo-statin Yes
和一个系列(框架):
现在,基本上我想合并这两个(doc2,frame_concat)的方式是(doc2中的AgeGroups=frame_concat中的index),也许还有一个新的列可以称之为Frequency,其中包含值
0
0
0
0
2
1
4
1
2
4
5
5
2
3
3
2
0
0
0
0
0
希望得到这样一个整体结果:
Index AgeGroups Factor Cancer Frequency
0 0_5 wo-statin Yes 0
1 6_10 wo-statin Yes 0
2 11_15 wo-statin Yes 0
3 16_20 wo-statin Yes 2
4 21_25 wo-statin Yes 1
5 26_30 wo-statin Yes 4
6 31_35 wo-statin Yes 1
7 36_40 wo-statin Yes 2
8 41_45 wo-statin Yes 4
9 46_50 wo-statin Yes 5
10 51_55 wo-statin Yes 5
11 56_60 wo-statin Yes 2
12 61_65 wo-statin Yes 3
13 66_70 wo-statin Yes 3
14 71_75 wo-statin Yes 2
15 76_80 wo-statin Yes 0
16 81_85 wo-statin Yes 0
17 86_90 wo-statin Yes 0
18 91_95 wo-statin Yes 0
19 96_100 wo-statin Yes 0
我非常感谢提供的任何帮助:)。非常感谢试试这个:
In [170]: doc2.merge(frame_concat.to_frame('Frequency'), left_on='AgeGroups',
right_index=True, how='left')
Out[170]:
AgeGroups Factor Cancer Frequency
Index
0 0_5 wo-statin Yes 0
1 6_10 wo-statin Yes 0
2 11_15 wo-statin Yes 0
3 16_20 wo-statin Yes 2
4 21_25 wo-statin Yes 1
5 26_30 wo-statin Yes 4
6 31_35 wo-statin Yes 1
7 36_40 wo-statin Yes 2
8 41_45 wo-statin Yes 4
9 46_50 wo-statin Yes 5
10 51_55 wo-statin Yes 5
11 56_60 wo-statin Yes 2
12 61_65 wo-statin Yes 3
13 66_70 wo-statin Yes 3
14 71_75 wo-statin Yes 2
15 76_80 wo-statin Yes 0
16 81_85 wo-statin Yes 0
17 86_90 wo-statin Yes 0
18 91_95 wo-statin Yes 0
19 96_100 wo-statin Yes 0
简单的呢
doc2['Frequency'] = frame_concat
马祖,首先谢谢你的回复。对于第一个选项,它给了我InvalidIndexError:Reindexing仅对唯一值的索引对象有效,对于第二个选项,它给了我TypeError:'numpy.int64'对象不可调用。对不起:)@acerceae,
type(frame\u concat)
和frame\u concat.dtypes的输出是什么;doc2.d类型
类型(frame_concat):pandas.core.series.series;类型(frame_concat.dtypes):numpy.dtype和类型(doc2.dtypes):pandas.core.series.series。非常感谢您的支持time@Aceraceae,我需要输出:print(doc2.dtypes)
print(doc2.dtypes):年龄组:对象,因子:对象,癌症:对象,数据类型:对象
doc2['Frequency'] = frame_concat