我有一个像这样的CSV文件:
department_id,department_name,manager_id,location_id
10,Administration,200,1700
20,Marketing,201,1800
30,Purchasing,114,1700
40,Human Resources,NaN,2400
50,Shipping,NaN,1500
......
任务是打印manager_id
列为空的行,并显示no headers
。
我最接近的方法是:
import pandas as pd
df = pd.read_csv ('data.csv', header=None, index_col = 0 )
null_data = df[df.isnull().any(axis=1)]
print(null_data)
但是打印出来很奇怪
Your code output:
1 2 3
0
120 Treasury NaN 1700
....
在开头。如果有任何帮助,我都会很感激,当然不是熊猫,所有的方法都会很好。
要获取manager_id为空的行,我们可以执行df[df['manager_id'].isnull()]
首先,您使用header=None
读取CSV文件的方式假定没有列标签。因此,您的打印输出只显示数字列。
您可以将读取CSV的代码更改为:
df = pd.read_csv ('data.csv')
然后,选择manager_id
为空的行,您可以使用:
null_data = df.loc[df['manager_id'].isna()]
print(null_data)
结果:
department_id department_name manager_id location_id
3 40 Human Resources NaN 2400
4 50 Shipping NaN 1500