我想在没有标题的CSV文件中重塑一些数据,但我一直收到此错误
AttributeError: 'DataFrame' object has no attribute 'reshape'这是我的脚本,我只想重塑第二列的数据
import pandas as pd
df = pd.read_csv("test.csv", header=None, usecols=[1])
start = 0
for i in range(0, len(df.index)):
if (i + 1)%10 == 0:
result = df.iloc[start:i+1].reshape(2,5)
start = i + 1
print result这是CSV
1,52.1
2,32.2
3,44.6
3,99.1
5,12.3
3,43.2
7,79.4
8,45.5
9,56.3
0,15.4
1,35.7
2,23.7
3,66.7
4,33.8
1,12.9
7,34.8
1,21.6
3,43.7
6,44.2
9,55.8输出应如下所示
[[ 52.1 32.2 44.6 99.1 12.3]
[ 43.2 79.4 45.5 56.3 15.4]]
[[ 35.7 23.7 66.7 33.8 12.9]
[ 34.8 21.6 43.7 44.2 55.8]]有什么想法吗?谢谢
发布于 2017-02-15 12:01:38
pandas.dataframe没有内置的reshape方法,但您可以使用.values访问底层的numpy数组对象并对其调用reshape:
start = 0
for i in range(0, len(df.index)):
if (i + 1)%10 == 0:
result = df.iloc[start:i+1].values.reshape(2,5)
start = i + 1
print result
#[[ 52.1 32.2 44.6 99.1 12.3]
# [ 43.2 79.4 45.5 56.3 15.4]]
#[[ 35.7 23.7 66.7 33.8 12.9]
# [ 34.8 21.6 43.7 44.2 55.8]]发布于 2021-07-06 15:06:28
import pandas as pd
from sklearn.model_selection import train_test_split
df=pd.read_csv('diabetes1.csv')
df.head()
X=df.iloc[:,:-1]
Y=df.iloc[:,-1].values
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
Xnorm = pd.DataFrame(data = scaler.fit_transform(X))
Yshape = pd.DataFrame(data = Y.reshape(-1,1))
Xshape = pd.DataFrame(data=X.reshape(-1,1))
Ynorm = pd.DataFrame(data = scaler.fit_transform(Yshape))
XTrain,XTest,YTrain,YTest=train_test_split(Xnorm,Ynorm,train_size=0.7,random_state=2)
import keras.backend as K
def r2(y_true, y_pred):
SS_res = K.sum(K.square(y_true - y_pred))
SS_tot = K.sum(K.square(y_true - K.mean(y_true)))
return ( 1 - SS_res/(SS_tot + K.epsilon()) )
from keras.models import Sequential
from keras.layers import Dense
from keras.callbacks import EarlyStopping
import numpy as np
model1 = Sequential()
model1.add(Dense(100,activation='relu',input_dim=3))
model1.add(Dense(100,activation='relu'))
model1.add(Dense(1))
np.random.seed(50)
model1.compile(optimizer='adam',loss='mean_squared_error',metrics=['mse',r2])
early_stopping_monitor = EarlyStopping(monitor ="val_loss",
mode ="min", patience = 5,
restore_best_weights = True)
history=model1.fit(XTrain,YTrain,epochs=5000,
batch_size=64,validation_data=(XTest,YTest),
callbacks=[early_stopping_monitor]);
from sklearn.metrics import r2_score
y_train_pred = model1.predict(XTrain)
y_test_pred = model1.predict(XTest)
y_pred = model1.predict(Xnorm)
r2_score(YTrain,y_train_pred),r2_score(YTest,y_test_pred),r2_score(Ynorm,y_pred)
from sklearn.metrics import mean_absolute_error
mae=mean_absolute_error
mae(YTrain,y_train_pred),mae(YTest,y_test_pred),mae(Ynorm,y_pred)
print(mae(YTrain,y_train_pred),mae(YTest,y_test_pred),mae(Ynorm,y_pred))
from sklearn.metrics import mean_squared_error
mse=mean_squared_error
mse(YTrain,y_train_pred),mse(YTest,y_test_pred),mse(Ynorm,y_pred)
print(mse(YTrain,y_train_pred),mse(YTest,y_test_pred),mse(Ynorm,y_pred))我有这段代码,想要运行它,但得到了这个错误: AttributeError:'DataFrame‘对象没有'reshape’属性
https://stackoverflow.com/questions/42240376
复制相似问题