我有以下格式的csv文件:
15.55 28.65 2
14.9 27.55 2
14.45 28.35 2
14.15 28.8 2
13.75 28.05 2
我想阅读并将其另存为X,Y,群集。
我尝试了以下操作,但没有任何数据
data = pd.read_csv(filename)
X = column(data, 0)
X = np.asarray(X)
Y = column(data,1)
Y = np.asarray(Y)
答案 0 :(得分:1)
使用header=None
并指定names
参数:
from io import StringIO
x = """15.55 28.65 2
14.9 27.55 2
14.45 28.35 2
14.15 28.8 2
13.75 28.05 2"""
# replace StringIO(x) with 'file.csv'
df = pd.read_csv(StringIO(x), delim_whitespace=True,
header=None, names=['X', 'Y', 'Clusters'])
print(df)
X Y Clusters
0 15.55 28.65 2
1 14.90 27.55 2
2 14.45 28.35 2
3 14.15 28.80 2
4 13.75 28.05 2
然后根据需要使用df['X']
,df['Y']
或df['Clusters']
。在大多数情况下,尽管可以执行以下操作,但无需其他 即可转换为列表或数组:
df['X'].tolist() # convert series to list
df['X'].values # convert series to NumPy array
答案 1 :(得分:0)
您应该在代码中指定没有标题,然后才能从数据框中获取序列,如果绝对需要该列表,则可以使用tolist()
这里是一个示例
import pandas as pd
df = pd.read_csv('sof.csv', header=None)
X, Y, Clusters = df[0], df[1], df[2]
print(X.tolist())
输出:
[15.55, 14.9, 14.45, 14.15, 13.75]