python中的数据类型(查找与R中str类似的内容)

2024-04-24 14:41:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中找到csv文件中所有变量的数据类型。在R中,我们可以使用str()命令来实现相同的目标。在

str(data_frame)

这会产生这样的输出

^{pr2}$

python中有类似的方法吗?在


Tags: 文件csv方法命令目标dataframe数据类型
2条回答

你可能想要^{}

>>> 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的一个简短演示:

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))

输出

^{pr2}$

然而,普通的Python代码(通常)不会使用这样的函数:它假设数据是正确的,并将转换代码包装在一个简单的try: ... except ValueError:... else:块中,而不是在准备处理数据之前使用这种疯狂的嵌套结构来测试数据。在

一个合理的CSV不会在随机位置上有不同的数据类型,因此您的代码不需要猜测给定字段中的数据类型。奥托,不是所有的CSV都设计得很好。。。:)

相关问题 更多 >