2024-04-24 14:41:14 发布
网友
我想在python中找到csv文件中所有变量的数据类型。在R中,我们可以使用str()命令来实现相同的目标。在
str()
str(data_frame)
这会产生这样的输出
python中有类似的方法吗?在
你可能想要^{}
>>> import pandas as pd >>> df = pd.DataFrame({'foo': [1, 2, 3], 'bar': [1.0, 2.0, 3.0], 'baz': ['qux', 'quux', 'quuux']}) >>> df.dtypes bar float64 baz object foo int64 dtype: object
判断一个字符串是否代表有效的int的一个简单方法是尝试将该字符串转换为int,并捕捉ValueError异常,如果它不是合法的int。类似于float。下面是Python2的一个简短演示:
int
ValueError
float
data = 'string 37 3.14159 word -5 0 -1.4142 text' def datatype(s): try: int(s) except ValueError: try: float(s) except ValueError: return 'string' else: return 'float' else: return 'int' for s in data.split(): print '%-15r: %s' % (s, datatype(s))
输出
然而,普通的Python代码(通常)不会使用这样的函数:它假设数据是正确的,并将转换代码包装在一个简单的try: ... except ValueError:... else:块中,而不是在准备处理数据之前使用这种疯狂的嵌套结构来测试数据。在
try: ... except ValueError:... else:
一个合理的CSV不会在随机位置上有不同的数据类型,因此您的代码不需要猜测给定字段中的数据类型。奥托,不是所有的CSV都设计得很好。。。:)
你可能想要^{}
判断一个字符串是否代表有效的
int
的一个简单方法是尝试将该字符串转换为int
,并捕捉ValueError
异常,如果它不是合法的int
。类似于float
。下面是Python2的一个简短演示:输出
^{pr2}$然而,普通的Python代码(通常)不会使用这样的函数:它假设数据是正确的,并将转换代码包装在一个简单的
try: ... except ValueError:... else:
块中,而不是在准备处理数据之前使用这种疯狂的嵌套结构来测试数据。在一个合理的CSV不会在随机位置上有不同的数据类型,因此您的代码不需要猜测给定字段中的数据类型。奥托,不是所有的CSV都设计得很好。。。:)
相关问题 更多 >
编程相关推荐