Pandas 使用.join连接索引时为NaN

Pandas 使用.join连接索引时为NaN,pandas,Pandas,我有一个左DF和一个右DF。它们都有相同的列。但是当我尝试在索引上连接时,使用left.join(right,lsuffix=''u CAN',rsuffix=''u US')右侧的数据集(US)具有所有Nan值 谢谢你的帮助 使用的数据集: 这里是Kaggle数据集:。我刚刚使用了CAD和USA csv(请参见页面左侧的Data Explorer,以及CAvideos.csv和USvideos.csv)。我读入了它们,现在想通过索引加入它们。不,87284条记录中只有35675条是NA。您可以

我有一个左DF和一个右DF。它们都有相同的列。但是当我尝试在索引上连接时,使用
left.join(right,lsuffix=''u CAN',rsuffix=''u US')
右侧的数据集(US)具有所有Nan值

谢谢你的帮助

使用的数据集:
这里是Kaggle数据集:。我刚刚使用了CAD和USA csv(请参见页面左侧的Data Explorer,以及CAvideos.csv和USvideos.csv)。我读入了它们,现在想通过索引加入它们。

不,87284条记录中只有35675条是
NA
。您可以通过
Series.isna().sum()
(或者可能是
.isnull().sum()
)检查
NA
的数量,并与
len(df)
进行比较。你不能仅仅通过观察头部和尾部得出这样的结论

ca = pd.read_csv("/mnt/ramdisk/CAvideos.csv")
us = pd.read_csv("/mnt/ramdisk/USvideos.csv")
ca.set_index("video_id", inplace=True)  # I assume this is the intended logic
us.set_index("video_id", inplace=True)

# ca=left, us=right
df = ca.join(us, lsuffix='_CAN', rsuffix='_US')
print(df["description_US"].isna().sum())  # 35675
print(len(df))  # 87284
您还可以筛选出非NA记录:

print(df[~df["description_US"].isna()])

                trending_date_CAN  ...                                     description_US
video_id                       ...                                                   
n1WpP7iowLc          17.14.11  ...  Eminem's new track Walk on Water ft. Beyoncé i...
n1WpP7iowLc          17.14.11  ...  Eminem's new track Walk on Water ft. Beyoncé i...
n1WpP7iowLc          17.14.11  ...  Eminem's new track Walk on Water ft. Beyoncé i...
n1WpP7iowLc          17.14.11  ...  Eminem's new track Walk on Water ft. Beyoncé i...
n1WpP7iowLc          17.14.11  ...  Eminem's new track Walk on Water ft. Beyoncé i...
                       ...  ...                                                ...
Gi56dSh8Fq8          18.14.06  ...  It's your good ol' McDonald's Big Mac, but lik...
JGm9Y_hFqNk          18.14.06  ...  First Take's Stephen A. Smith and Max Kellerma...
Fmdb-KmlzD8          18.14.06  ...  The Master Chief returns in Halo Infinite – th...
Fmdb-KmlzD8          18.14.06  ...  The Master Chief returns in Halo Infinite – th...
Fmdb-KmlzD8          18.14.06  ...  The Master Chief returns in Halo Infinite – th...

警告:合并数据集中存在重复的视频id。我没有质疑这一部分,因为这超出了这个问题的范围。但是,出于分析目的,它可能会使联接完全无效。我建议OP修改连接逻辑。是的。它最初是要在两个索引列上连接的..包括id..但我试图找出某些值丢失的原因。但我还是有点困惑..为什么缺少这么多值?这是因为CAD和US上的值相同吗?缺少的值在原始数据集中不存在<代码>美国[“说明”].isna().sum()给出了
570
。从这些行中找到一些
video\u id
s,看看它们是否确实是合并数据集中丢失的记录。