使用
df = pd.read_csv("csv_file.csv")
读出来的数据 就是 DataFrame 格式 ? <class 'pandas.core.frame.DataFrame'>
参考:https://www.kdnuggets.com/2019/06/select-rows-columns-pandas.html
数据来源:https://www.kaggle.com/thebrownviking20/intro-to-recurrent-neural-networks-lstm-gru/data
IBM_2006-01-01_to_2018-01-01.csv
1⃣️ [] 直接用列名
col_high = df[['High']].values
print(col_high)
print(col_high.shape)
⚠️有两层 []
df['High'].values.reshape(-1, 1) 和 上面代码里一样效果
如果 只打一层 [] 取出来的是 Series,其 shape 是(_, )即 数据是 1D array,而不是2D array
可能会导致之后 数据放进 模型报错(ValueError: Expected 2D array, got 1D array instead)
(eg. MinMaxScaler().fit() 中要求的数据类型就是 Expected 2D array)
查看 Dimension:.ndim
数据处理更详细的资料:https://towardsdatascience.com/get-into-shape-14637fe1cd32
2⃣️ iloc 用整数表示的列 取列(咱英语是计算机老师教的,官方名字解释?)
Purely integer-location based indexing for selection by position.
col_integer_location = df.iloc[:, 1:2].values
print(col_integer_location)
print(col_integer_location.shape)
iloc [开始行:结束行(不含), 开始列:结束列(不含)] 空着表示全选
[:,1:2] 行全选,列选 1至2列 但不包含第2列
结果和 1⃣️ 是一样的 就不截图了?
3⃣️ loc 用列名 (lable)
.loc[]
is primarily label based, but may also be used with a boolean array.A boolean array of the same length as the axis being sliced, e.g. [True, False, True].
官文参考:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html
col_label = df.loc[:, 'High':'High'].values
print(col_label)
print(col_label.shape)
用 label 取列 也会出现数字,但这里的数字表示列名 而非真正的列的位次(排第三也能叫第一)
loc 取列的时候 是包含结束列的,如果这里还写 'High':'Low' 那shape 就是 (_, 2) 了,即选了两列
loc [开始行:结束行(含), 开始列:结束列(含)]
结果和 1⃣️ 是一样的 就不截图了?
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。