用于数据科学,熊猫,数据类型验证的Python编码

时间:2018-10-07 09:27:45

标签: python pandas data-science

有什么方法可以遍历列的每一行,显示每个元素的数据类型(在csv文件中)? 实际上,我正在尝试遍历列的每个元素,并检查它是否与所需的数据类型匹配。

示例代码将不胜感激。

预先感谢

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以通过多种方式执行此操作,一种方式是将csv加载到熊猫中,

df = pd.read_csv('example.csv')
for row in df.rows:
   if (row['column_name'] is in right format):
        #do something

答案 1 :(得分:0)

您可以通过iterrows

迭代获得类型。

下面的代码将为您提供strint等类型。

[type(r['column_name']) for i,r in df.iterrows()]

发布此信息即可执行验证。

示例:用于从一行中过滤字符串: 我将列表理解用作:

[r['column_name'] for i,r in df.iterrows() if type(r['column_name'])==str]

您还可以使用:

for i,r in df.iterrows():
    if type(r['column_name'])==str:
       print(r['column_name'])

编辑:

下面的代码段为您提供了所有不是int的数据:

df[~df.applymap(lambda x: isinstance(x, (int)))].dropna(how="all")

编辑:

根据您的评论,您可以尝试以下操作:

for i,r in df.iterrows():
    if type(r['id'])!=int:
       print(i,r['id'])

或者如果您将int表示为数字,则以下代码将为您提供包含非中性数据的行

df[~df.applymap(np.isreal).all(1)]

希望这会有所帮助。