python - Pandas 将 csv 文件值作为文本读取,而不首先转换为浮点数
问题描述
我正在将 csv 文件中的数据加载到 pandas 数据框中,csv 文件中的列包含以下值:
1,2,3.4,5,6.2
问题是 int 值被更改为浮点数(我知道这是因为浮点数将是更通用的 dtype),所以它被读作:
df
value
0 1.0
1 2.0
2 3.4
3 5.0
4 6.2
我需要将 csv 文件中的所有值作为字符串获取。
我尝试使用pd.read_csv('filename.csv',dtype=str)
or pd.read_csv('filename.csv',dtype=object)
,结果将它们更改为浮点数然后 str :
value
0 1.0
1 2.0
2 3.4
3 5.0
4 6.2
有没有办法按原样阅读它们?IE:
value
0 1
1 2
2 3.4
3 5
4 6.2
解决方案
利用
pd.read_csv()
- 将逗号分隔值 (csv) 文件读入 DataFrame。DataFrame.T
- 转置索引和列。DataFrame.rename()
- 更改轴标签。
前任。
import pandas as pd
from io import StringIO
# csv file contain single text row value
csv1 = StringIO("""1,2,3.4,5,6.2""")
# csv1 replace with csv file name eg. 'filename.csv'
df = (pd.read_csv(csv1,dtype=str,header=None)).T.rename(columns={0:'value'})
print(df)
value
0 1
1 2
2 3.4
3 5
4 6.2
# csv file contain multiple text row value
csv2 = StringIO("""1
2
3.4
5
6.2""")
# csv2 replace with csv file name eg. 'filename.csv'
df1 = pd.read_csv(csv2,dtype=str,header=None,names=['value'])
print(df1)
value
0 1
1 2
2 3.4
3 5
4 6.2
推荐阅读
- typo3 - 如何为 TYPO3 站点创建级联页面错误处理程序
- azure - 从http重定向到https、nginx
- sql - Transpose rows into columns in SQL Server, I try it using pivot but, expected result is not reached
- validation - 在 Google Sheet 中查询结果的每一行之后添加一个下拉菜单(数据验证)
- c - 如何检查变量有效性以及如何将结构数组发送到函数?
- flutter - Flutter Dart Dio Get Request 太慢了
- c++ - 模板 to_string << 运算符不适用于枚举类
- reactjs - 纱线启动 - 命令失败,退出代码为 1
- python - 如何操作、合并和覆盖数据存储是字典列表
- c# - VBA Transfertext 函数的 C# 等效项