Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以自动识别是否存在标题_Python_Pandas - Fatal编程技术网

Python 是否可以自动识别是否存在标题

Python 是否可以自动识别是否存在标题,python,pandas,Python,Pandas,熊猫是这里的初学者 我读到pandas.read\u csv自动假定第一列是标题列,如果不是这样,我应该传递一个标志,header=None 现在我有一个代码加载CSV,有时有头,有时没有。。。是否有一种方法或标志可以read\u csv尝试并自动检测标题行 如果一列(或多列)在除第一行以外的所有行中都有数字,则它是标题行,否则没有标题。您可以使用 str和包含 df['column_name'].str.contains('text_you_are_expecting_in_header')

熊猫是这里的初学者

我读到pandas.read\u csv自动假定第一列是标题列,如果不是这样,我应该传递一个标志,
header=None

现在我有一个代码加载CSV,有时有头,有时没有。。。是否有一种方法或标志可以
read\u csv
尝试并自动检测标题行

如果一列(或多列)在除第一行以外的所有行中都有数字,则它是标题行,否则没有标题。

您可以使用

str包含

df['column_name'].str.contains('text_you_are_expecting_in_header')
这将根据列条目是否包含您要查找的内容返回True/False

此后,您可以读取第一个条目(针对标题行),如果它与标题中预期的文本匹配,则您有一个标题,否则您没有标题。

您可以使用

str包含

df['column_name'].str.contains('text_you_are_expecting_in_header')
这将根据列条目是否包含您要查找的内容返回True/False

此后,您可以读取第一个条目(针对标题行),如果它与标题中预期的文本匹配,则您有一个标题,否则您没有标题。

好的,这么快(可能很脆弱)的想法:

这里发生了什么事

我们读取csv文件的第一行nrows(默认为20)。一次带标题,一次不带标题。然后我们看看熊猫为每一列分配了哪些数据类型。如果忽略第一行时数据类型没有改变,那么就没有标题(当然,只有当您总是至少有一列标题是字符串,但所有其他条目都是非字符串的另一个数据类型,例如所有浮动时,这才有效)。

好的,这么快(可能很脆弱)的想法:

这里发生了什么事


我们读取csv文件的第一行nrows(默认为20)。一次带标题,一次不带标题。然后我们看看熊猫为每一列分配了哪些数据类型。如果忽略第一行时数据类型没有改变,那么就没有标题(当然,只有当您总是至少有一列标题是字符串,但所有其他条目都是非字符串的另一个数据类型,例如所有浮动时,才有效)。

根据上一条语句,您可以获取每个csv的第一行,检查逻辑并设置
标题
我可以,出于某种原因,我认为熊猫在某个地方内置了此功能。根据您的上一句话,您可以抓取每个csv的第一行,检查逻辑并设置
标题
,我可以,出于某种原因,我认为pandas在某些地方内置了此功能。我事先不知道列名,此模块可用于不同的数据文件…我事先不知道列名,此模块可用于不同的数据文件…我喜欢您的解决方案,将尝试它!(我想你应该先声明
df=pd.DataFrame…
,然后继续,但我同意这个想法)哦,是的,这些语句的顺序是错误的。我更新了它;)我喜欢你的解决方案,会试试的!(我想你应该先声明
df=pd.DataFrame…
,然后继续,但我同意这个想法)哦,是的,这些语句的顺序是错误的。我更新了它;)