有什么方法可以遍历列的每一行,显示每个元素的数据类型(在csv文件中)? 实际上,我正在尝试遍历列的每个元素,并检查它是否与所需的数据类型匹配。
示例代码将不胜感激。
预先感谢
答案 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
下面的代码将为您提供str
,int
等类型。
[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)]
希望这会有所帮助。