![](/img/trans.png)
[英]Combining two columns from two dataframes; same indices but different lengths
[英]Combining dataframes of different lengths
我有兩個不同的數據幀,其中一個是另一個的擴展版本。 (1)如何根據兩個數據幀是否共享相同的名稱來有效地組合這兩者? (2)還有一種方法可以在stackoverflow框中為代碼添加四個空格而不為每行鍵入四個空格嗎? 這可能很費時間。
更多細節
一個是具有多個值列表的完整數據框(sortedregsubjdf)。 另一個只包含其他數據幀的唯一值(因為它是網絡中心的數據幀) - 稱為sortedcentralitydf
sortedregsubjdf
Name Organization Year Centrality
6363 (Buz) Business And Commerce doclist[524] 2012 0.503677
8383 (Buz) Business And Commerce doclist[697] 2012 0.503677
1170 (Buz) Business And Commerce doclist[103] 2012 0.503677
1579 (Eco) Economics News doclist[140] 2013 0.500624
10979 (Gop) Provincial Government News doclist[941] 2013 0.501232
4374 (Gop) Provincial Government News doclist[368] 2013 0.501232
10988 (Npt) Not-For-Profits doclist[942] 2013 0.498810
sortedcentralitiesdf (商業和商業只出現一次,因為它包含唯一值,其中sortedregsubjdf有多個值)
Name Centrality
316 (Buz) Business And Commerce 0.503677
448 (Eco) Economics News 0.500624
499 (Gop) Provincial Government News 0.501232
366 (Npt) Not-For-Profits 0.498810
217 (Pdt) New Products And Services 0.504600
這是我將兩個數據幀結合起來的代碼,但我想知道是否有更有效的方法呢?
for i, val in enumerate(sortedcentralitydf.Name):
for x, xval in enumerate(sortedregsubjdf.Name):
if val == xval:
#print val, xval
sortedregsubjdf.Centrality[sortedregsubjdf.Name == xval] = sortedcentralitydf.Centrality[sortedcentralitydf.Name == val].iloc[0]
熊貓有merge
功能。 聽起來像這樣的東西會起作用......
import pandas as pd
merged_df = pd.merge(sortedregsubjdf, sortedcentralitiesdf, on='Name')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.