Python 为什么我的列不是空的,却显示为NaN?

Python 为什么我的列不是空的,却显示为NaN?,python,pandas,Python,Pandas,我正在尝试使用pandas从下载的.csv文件创建数据帧。每次我尝试创建一个预测器数据帧时,它都会清空我要查找的一列。我从这里下载了.csv文件: 这是标题为“film.csv”的第四个文件 我以前使用不同的数据集以以下方式完成了这项工作,它工作得非常完美。这次我的数据被删除了,我不知道为什么 将熊猫作为pd导入 file=pd.read_csv('film.csv',sep=';',encoding=“ISO 8859-1”) #打印(文件) df=pd.DataFrame(文件) df=df

我正在尝试使用pandas从下载的.csv文件创建数据帧。每次我尝试创建一个预测器数据帧时,它都会清空我要查找的一列。我从这里下载了.csv文件: 这是标题为“film.csv”的第四个文件

我以前使用不同的数据集以以下方式完成了这项工作,它工作得非常完美。这次我的数据被删除了,我不知道为什么

将熊猫作为pd导入
file=pd.read_csv('film.csv',sep=';',encoding=“ISO 8859-1”)
#打印(文件)
df=pd.DataFrame(文件)
df=df.dropna(轴=0,how='any')
预测器=pd.数据帧(测向控制器,测向长度)
#将导演打印为NaN
打印(预测值)
#完全打印两列
打印(测向主任)
打印(测向长度)
打印上面的predictors数据帧可以正确打印长度列,但Director列的所有文件都为NaN。我想要的是一个两列的数据帧,长度和方向。任何帮助都将不胜感激

编辑:

这是csv文件的前10行

     Year;Length;Title;Subject;Actor;Actress;Director;Popularity;Awards
INT;INT;STRING;CAT;CAT;CAT;CAT;INT;BOOL;STRING
1990;111;Tie Me Up! Tie Me Down!;Comedy;Banderas, Antonio;Abril, 
Victoria;Almodóvar, Pedro;68;No
1991;113;High Heels;Comedy;Bosé, Miguel;Abril, Victoria;Almodóvar, 
Pedro;68;No
1983;104;Dead Zone, The;Horror;Walken, Christopher;Adams, 
Brooke;Cronenberg, David;79;No
1979;122;Cuba;Action;Connery, Sean;Adams, Brooke;Lester, Richard;6;No
1978;94;Days of Heaven;Drama;Gere, Richard;Adams, Brooke;Malick, 
Terrence;14;No
1983;140;Octopussy;Action;Moore, Roger;Adams, Maud;Glen, John;68;No
1984;101;Target Eagle;Action;Connors, Chuck;Adams, Maud;Loma, José 
Antonio de la;14;No
1989;99;American Angels: Baptism of Blood, The;Drama;Bergen, Robert 
D.;Adams, Trudy;Sebastian, Beverly;28;No

问题在这一行
predictors=pd.DataFrame(df.Director,df.Length)

要从旧数据帧创建新数据帧,请使用以下方法:


predictors=df[['Director','Length']].copy()

您能否添加几行csv数据-足以重现/说明问题?将数据复制为文本粘贴到问题中,并将其格式化为代码。请阅读。@wwii我做了编辑,谢谢。我无法重现错误。我试过你的代码,看起来效果不错。谢谢!!我一整天都在试图弄明白这一点,只是让自己更加困惑。这很有效,非常感谢。很高兴能帮上忙。稍后我会在答覆中提供更多细节。为简洁道歉。