我使用以下代码使用read_csv从csv读取数据,但在打印结果后发现第一列名称用双引号括起来,但其他列名称是正常的,
import pandas as pd
import numpy as np
import csv
path1 = "C:\\Users\\IBM_ADMIN\\Desktop\\ml- 1m\\SELECT_FROM_HRAP2P3_SAAS_ZTXDMPARAM_201611291745.csv"
frame1 = pd.read_csv(path1,encoding='utf8',dtype = {'COMPANY_ORGANIZATION': str})
frame1
Run Code Online (Sandbox Code Playgroud)
我已经下载了一个csv文件,然后将其读取到python数据帧,现在所有4列都有对象类型,我想将它们转换为str类型,
现在dtypes的结果如下:
Name object
Position Title object
Department object
Employee Annual Salary object
dtype: object
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下方法更改类型:
path['Employee Annual Salary'] = path['Employee Annual Salary'].astype(str)
Run Code Online (Sandbox Code Playgroud)
但dtypes仍然返回类型对象,我也尝试在读取csv时提供列类型,
path = pd.read_csv("C:\\Users\\IBM_ADMIN\\Desktop\\ml-1m\\city-of-chicago-salaries.csv",dtype={'Employee Annual Salary':str})
Run Code Online (Sandbox Code Playgroud)
要么
path = pd.read_csv("C:\\Users\\IBM_ADMIN\\Desktop\\ml-1m\\city-of-chicago-salaries.csv",dtype=str)
Run Code Online (Sandbox Code Playgroud)
但仍然无法工作,想知道如何将列类型从对象更改为str,
我在一个示例脚本中找到了它,然后我从Google搜索并找到了以下单词,
请注意,您不能简单地将STDERR打开为Perl程序中STDOUT的副本,并避免调用Shell进行重定向。这不起作用:
Run Code Online (Sandbox Code Playgroud)open(STDERR, ">&STDOUT");之所以失败,是因为open()使STDERR转到open()时STDOUT所在的位置。然后,反引号使STDOUT转到字符串,但不要更改STDERR(仍将其转到旧的STDOUT)。
现在我很困惑。到底是什么意思open(STDERR, ">&STDOUT");?