从 csv 读取字符串值

宾杜·纳根德拉
+-----------+-------+-----------------------+
|V1         |   n   | ip                    |
+-----------+-------+-----------------------+
|02-08-2017 |2      |00.121.187.120:3447    |
|03-08-2017 |5      |01.110.186.182:23      |
|30-07-2017 |13     |08.167.141.192:25      |
|26-07-2017 |19     |1.175.4.214:33274      |
|01-08-2017 |72     |10.174.218.134:59259   |
+-----------+-------+-----------------------+

这是我的 csv 文件,我正在尝试使用聚类技术,但我的列“V1”已保存为字符串,因此我无法读取它。

import pandas
import pylab as pl

from sklearn.cluster import KMeans

from sklearn.decomposition import PCA
import ast


variables = pandas.read_csv('D:\\Date\\date-dfki.csv',dtype=str)

Y =  variables[['V1']]

X = variables[['n']]
Nc = range(1, 20)

kmeans = [KMeans(n_clusters=i) for i in Nc]

均值

score = [kmeans[i].fit(Y).score(Y) for i in range(len(kmeans))]

分数

pl.plot(Nc,score)

pl.xlabel('Number of Clusters')

pl.ylabel('Score')

pl.title('Elbow Curve')

请有人告诉我如何阅读它,因为我无法将字符串转换为 float/int 我也无法继续。这是我得到的错误:

array = np.array(array, dtype=dtype, order=order, copy=copy)
**ValueError: could not convert string to float: '27-07-2017'**
n1tk

这里列出了一个可以做什么的例子。

import pandas as pd
import numpy as np

#create dataset sample
d = {'V1': ["02-08-2017" , "03-08-2017"], 'n': ["2", "5"],'ip': ["104.44.194.237:25", "106.42.34.86:49324 "] }
df = pd.DataFrame(data=d, dtype=np.int8)
df.to_csv('date-dfki.csv', sep=',')


#here from where starts your read file:
parse_dates = ['V1'] #specify the column you need for datetime, because on read pandas automatically read the date as string. 
variables = pd.read_csv('date-dfki.csv', dtype={'V1': str, 'ip': np.str, 'n': np.int32}, parse_dates=parse_dates) #in data type you specify each column what format to use

变量数据集:

示例数据集

接下来,您需要清除 IP 地址,以便您可以转换为 int 或 float 或您想要的任何其他格式(我使用的是 int):

variables['ip'] = variables['ip'].str.replace('.', '') #removes '.'
variables['ip'] = variables['ip'].str.replace(':', '') #removes ':'
variables['ip'] = variables['ip'].astype(int) #convert to 'int'

结果如下:

结果转换

因此,如果您有多个列,您可以对每个列执行相同的过程并转换为您想要的任何格式。

这是浮点数转换:

variables['ip'] = variables['ip'].astype(float) #or float conversion

浮点数转换

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从CSV读取字符串并解析至今

来自分类Dev

目标C:从CSV文件中读取字符串

来自分类Dev

c#将字符串十六进制转换为ascii吗?从csv文件读取字符串

来自分类Dev

从CSV读取字符串数组作为Pyspark中的数组

来自分类Dev

比较从csv文件读取的字符串

来自分类Dev

从txt文件中提取字符串到CSV

来自分类Dev

在 Java 上解析 CSV 文件以提取字符串

来自分类Dev

从csv读取,strtod无法读取带数字的字符串

来自分类Dev

读取CSV文件时如何将字符串值转换为整数值?

来自分类Dev

numpy:从CSV读取以数字为字符串的数据

来自分类Dev

读取csv,但跳过字符串中的转义逗号

来自分类Dev

从CSV读取DataFrame时韩文字符串损坏

来自分类Dev

python-列表以字符串形式从csv中读取

来自分类Dev

R将csv读取为字符串

来自分类Dev

如何在R中读取JSON字符串的CSV

来自分类Dev

读取csv,但跳过字符串中的转义逗号

来自分类Dev

python-列表以字符串形式从csv中读取

来自分类Dev

读取CSV并将字符串转换为双精度

来自分类Dev

读取csv文件但带有空字符串[]

来自分类Dev

浓咖啡读取字符串文件值

来自分类Dev

无法成功读取字典值中的字符串?

来自分类Dev

读取字符串PERL中的某些值

来自分类Dev

如何读取字符串中的特定值?

来自分类Dev

如何删除 - 从右到左读取字符串值时

来自分类Dev

如何从file.csv读取并将每个值保存在数组C的字符串中

来自分类Dev

在 C++ 中将 csv 读取十六进制字符串值转换为 uint8_t

来自分类Dev

从类似csv的字符串设置textfields值

来自分类Dev

在Python上绘制从CSV流获取的字符串值

来自分类Dev

为每个值/字符串导出多个CSV文件

Related 相关文章

热门标签

归档