当我从第二个Datafram添加两列时,Python Dataframe列被吞没

2024-05-13 17:49:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧df和df2,内容如下

数据帧测向

enter image description here

数据帧df2

enter image description here

我想在df1中添加df2中的两列“NUMSESSIONS_ANDROID”和“AVGSESSDUR_ANDROID”

我的做法如下:

df['NUMSESSIONS_ANDROID'] = df2['NUMSESSIONS_ANDROID']
df['AVGSESSDUR_ANDROID']  = df2['AVGSESSDUR_ANDROID']

然而,当我打印结果df时,我看到。。。代替AVGSESSDUR_IOS(即,它似乎吞并了该列)

感谢您对解决此问题的任何帮助

enter image description here


Tags: 数据内容dfandroidiosdf1df2numsessions
2条回答

正如Alolz所说,您在输出中看到...这一事实意味着存在作为数据帧一部分的“隐藏”数据,但不显示在控制台或IDE中。但是,您可以执行简单的打印来检查dataframe包含的所有列:

  print(list(df))

这将向您显示df中所有列的名称,这样您就可以检查您想要的列是否存在

此外,您可以将特定列打印为系列(第一行)或数据帧(第二行):

 print(df['column_name'])
 print(df[['column_name']])

如果成功,您将看到series/dataframe,如果该列实际上不存在于原始dataframe中,那么您将得到一个KeyError

利用上面@ALollz的提示

“这个。。。指示在终端/输出中只显示部分数据帧,因此“AVGSESSDUR_IOS”几乎肯定仍在那里,只是没有显示。例如,您可以查看print(df.iloc[:,0:3])以查看前3列。”

我添加了以下两行,以增加控制台显示的列数和宽度,效果良好:

pd.set_option('display.max_columns',20)
pd.set_option('display.width', 1000) 
print(df.iloc[:,0:5])

相关问题 更多 >