簡體   English   中英

如何加入這兩個熊貓數據框?

[英]How to join these two pandas data frames?

我無法將DataFrame1與DataFrame2結合使用,我懷疑這是由於其中一個具有int64索引,而另一個具有字符串索引。 如何將字符串索引也轉換為int64索引(如果確實存在問題)? 如果沒有,如何合並這兩個數據幀?

DataFrame1

<class 'pandas.core.frame.DataFrame'>
Int64Index: 9943 entries, 10029934 to 9962359
Data columns:
face_area     9943  non-null values
image_area    9943  non-null values
ratio         9943  non-null values
dtypes: int64(3)

DataFrame2

<class 'pandas.core.frame.DataFrame'>
Index: 9412 entries, 10029934 to 9962359
Data columns:
1        9412  non-null values
2        9412  non-null values
name     9412  non-null values
class    9412  non-null values
dtypes: float64(2), int64(1), object(1)
DataFrame2['id'] = DataFrame2.index.map(int)
DataFrame2.set_index('id')

這似乎已經解決了問題,我現在可以加入。 如果您有更優雅的解決方案,Id仍然很樂意聽到。

您可以使用astype

df.index = df.index.astype(int)

例:

In [1]: df1 = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])

In [2]: df2 = pd.DataFrame([[1, 2], [3, 4]], columns=['c', 'd'], index=['0','1'])

In [3]: df2.index = df2.index.astype(int)

In [4]: df1.join(df2)
Out[4]: 
   a  b  c  d
0  1  2  1  2
1  3  4  3  4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM