在读取 csv 文件时,pandas 能否识别数据框中的哪些列是分类列,而无需我们明确指定列。类似于 R 中的 StringAsFactor。我尝试搜索,但我得到的是我们将列创建为 Categorical 或指定在读取文件时将哪个列视为分类列。我需要熊猫来识别。任何帮助将非常感激。提前致谢 !!
是的。您可以在使用read_*. 例如,考虑一个示例 CSV -
Col
a
b
c
a
b
b
c
Run Code Online (Sandbox Code Playgroud)
现在,用 阅读这个read_csv,指定一个dtype参数 -
df = pd.read_csv('file.csv', dtype={'Col' : 'category'})
Run Code Online (Sandbox Code Playgroud)
df['Col']
0 a
1 b
2 c
3 a
4 b
5 b
6 c
Name: Col, dtype: category
Categories (3, object): [a, b, c]
Run Code Online (Sandbox Code Playgroud)
如果您有未知数量的分类列,您可以读入它们,然后将它们一一转换 -
df = pd.read_csv('file.csv')
for c in df.columns[df.dtypes == object]: # df.dtypes == 'object'
df[c] = df[c].astype('category')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |