简体   繁体   English

Python列表与适当的索引匹配

[英]Python List match with appropriate index

I need to match the lists with appropriate indexes alone. 我需要将列表单独与适当的索引匹配。 There are 5 lists, one will be main list. 有5个列表,其中一个将成为主列表。 List1/List2 will be combined together same way List3/List4. List1 / List2将以List3 / List4相同的方式组合在一起。 List1/List3 index will be available in main_list. List1 / List3索引将在main_list中可用。 List2 / List4 need to match with appropriate index in main_list List2 / List4需要与main_list中的适当索引匹配

main_list = ['munnar', 'ooty', 'coonoor', 'nilgri', 'wayanad', 'coorg', 'chera', 'hima']


List1 = ['ooty', 'coonoor', 'chera']

List2 = ['hill', 'hill', 'hill']

List3 = ['nilgri', 'hima', 'ooty']

List4 = ['mount', 'mount', 'mount']

df = pd.DataFrame(dict(Area=main_list))
df1 = pd.DataFrame(
    list(zip(List1, List2)),
    columns=('Area', 'Content')
)

df2 = pd.DataFrame(
    list(zip(List3, List4)),
    columns=('Area', 'cont')
)

re = pd.concat([df, df1, df2], ignore_index=True, sort=False)

Output: 输出:

       Area Content   cont
0    munnar     NaN    NaN
1      ooty     NaN    NaN
2   coonoor     NaN    NaN
3    nilgri     NaN    NaN
4   wayanad     NaN    NaN
5     coorg     NaN    NaN
6     chera     NaN    NaN
7      hima     NaN    NaN
8      ooty    hill    NaN
9   coonoor    hill    NaN
10    chera    hill    NaN
11   nilgri     NaN  mount
12     hima     NaN  mount
13     ooty     NaN  mount

Expected Output: 预期产量:

       Area Content   cont
0    munnar     NaN    NaN
1      ooty     hill   mount
2   coonoor     hill   NaN
3    nilgri     NaN    mount
4   wayanad     NaN    NaN
5     coorg     NaN    NaN
6     chera     hill   NaN
7      hima     NaN    mount

IIUC set_index before concat concat之前的IIUC set_index

pd.concat([df.set_index('Area'), df1.set_index('Area'), df2.set_index('Area')],1).reset_index()
Out[312]: 
     index Content   cont
0    chera    hill    NaN
1  coonoor    hill    NaN
2    coorg     NaN    NaN
3     hima     NaN  mount
4   munnar     NaN    NaN
5   nilgri     NaN  mount
6     ooty    hill  mount
7  wayanad     NaN    NaN

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM