【发布时间】:2018-11-13 19:37:01
【问题描述】:
我有一个 pandas 数据框(如果更好,可以将其转换为 numpy 数组),如下所示:
我想将每个值从字符串转换为数字
我尝试过使用convert objects 之类的东西,但它根本不起作用。我认为问题在于方括号,所以如果我可以摆脱它们,该功能将起作用。
提前问候和感谢
编辑:
这是数据的来源
X_ans=[]
Y_ans=[]
for i in range (len(data["Births"])-2):
X=list(data["Births"])[i:i+3]
Y=list(data["Births"])[i+1]
X_ans.append(X)
Y_ans.append(Y)
in_=pd.DataFrame([ str(x) for x in X_ans ],columns=['input'])
out=pd.DataFrame([ str(x) for x in Y_ans ],columns=['output'])
ans_1=pd.concat([in_,out],axis=1)
ans_1 会是这样的:
现在我拆分它:
msk = np.random.rand(len(ans_1)) < 0.8
traindf = ans_1[msk]
evaldf = ans_1[~msk]
并拆分以逗号分隔的值以获得尺寸
X_train = traindf.iloc[:, 0]
Y_train = traindf.iloc[:, 1]
X_test = evaldf.iloc[:, 0]
Y_test = evaldf.iloc[:, 1]
X_train = X_train.str.split(pat = ',', expand = True)
X_train = X_train.values
X_test = X_test.str.split(pat = ',', expand = True)
X_test = X_test.values
PS:我可以使用值:
【问题讨论】:
-
你能给我们一行代码来实例化那个数据框吗?它比图片更容易处理。
-
您从哪里获取数据?我建议尽早或至少在首先生成数据框之前摆脱这些括号......