我可以使用以下代碼將多個一維陣列保存到 CSV 檔案中
my_df = pd.DataFrame({"name1" : X, "name2" : y})
此外,我可以將一個多維陣列保存到 CSV 檔案中。
X, y = make_regression(n_samples=10, n_features=2, n_informative=2, n_targets=1, random_state=1, noise=0.5)
my_df = pd.DataFrame(X)
my_df.to_csv('test_data.csv', index=False, header=True)
這X是一個多維陣列,我得到一個 CSV 檔案,其中包含X2 個單獨列中的值(如預期)。
現在,如果我想節省X和y在同一個CSV檔案中單獨的列,如果我想給的名字X1,X2,y1,和y2我需要改變的代碼?
我期望的 CSV 是函式生成的X和的值。從函式中,我們得到 2 維和 二維。因此,CSV 應包含 4 列(例如 X1、X2、y1、y2)。ymake_regressionXy
X (shape: (10, 2)) 的值是從 make_regression 函式中得到的
[[ 1.62434536 -0.61175641]
[ 0.04221375 0.58281521]
[-0.52817175 -1.07296862]
[ 1.74481176 -0.7612069 ]
[ 1.13376944 -1.09989127]
[ 0.86540763 -2.3015387 ]
[ 1.46210794 -2.06014071]
[ 0.3190391 -0.24937038]
[-0.3224172 -0.38405435]
[-0.17242821 -0.87785842]]
y 的值(形狀:(10,2))
[[ 7.08380317e 01 -1.49989469e-01]
[ 4.25574119e 01 5.08213909e 01]
[-1.10263835e 02 -1.06685245e 02]
[ 6.81167780e 01 -8.67912040e 00]
[ 3.76517652e 00 -5.56565286e 01]
[-9.82592158e 01 -1.64522187e 02]
[-4.06045719e 01 -1.25819174e 02]
[ 4.61069914e 00 -1.11695124e 01]
[-4.92313307e 01 -4.21097213e 01]
[-7.22908927e 01 -7.91525111e 01]]
預期輸出
X1 X2 y1 y2
1.62434536 second column fo the X
0.04221375
-0.52817175
1.74481176
1.13376944
0.86540763
1.46210794
0.3190391
-0.3224172
-0.17242821
uj5u.com熱心網友回復:
您可以使用熊貓concat。我不確定你想要的名字X1,X2等等。
X, y = make_regression(n_samples=10, n_features=2, n_informative=2, n_targets=2, random_state=1, noise=0.5)
print(X, y)
full_df = pd.concat([pd.DataFrame(X),pd.DataFrame(y)],axis=1, ignore_index=True)
full_df.to_csv('test_data.csv', index=False, header=True)
print(full_df)
來自函式的 X 和 y
[[ 1.62434536 -0.61175641]
[ 0.04221375 0.58281521]
[-0.52817175 -1.07296862]
[ 1.74481176 -0.7612069 ]
[ 1.13376944 -1.09989127]
[ 0.86540763 -2.3015387 ]
[ 1.46210794 -2.06014071]
[ 0.3190391 -0.24937038]
[-0.3224172 -0.38405435]
[-0.17242821 -0.87785842]] [[ 7.08380317e 01 -1.49989469e-01]
[ 4.25574119e 01 5.08213909e 01]
[-1.10263835e 02 -1.06685245e 02]
[ 6.81167780e 01 -8.67912040e 00]
[ 3.76517652e 00 -5.56565286e 01]
[-9.82592158e 01 -1.64522187e 02]
[-4.06045719e 01 -1.25819174e 02]
[ 4.61069914e 00 -1.11695124e 01]
[-4.92313307e 01 -4.21097213e 01]
[-7.22908927e 01 -7.91525111e 01]]
輸出后 concat
0 1 2 3
0 1.624345 -0.611756 70.838032 -0.149989
1 0.042214 0.582815 42.557412 50.821391
2 -0.528172 -1.072969 -110.263835 -106.685245
3 1.744812 -0.761207 68.116778 -8.679120
4 1.133769 -1.099891 3.765177 -55.656529
5 0.865408 -2.301539 -98.259216 -164.522187
6 1.462108 -2.060141 -40.604572 -125.819174
7 0.319039 -0.249370 4.610699 -11.169512
8 -0.322417 -0.384054 -49.231331 -42.109721
9 -0.172428 -0.877858 -72.290893 -79.152511
uj5u.com熱心網友回復:
根據您的更新:
你可以切片 numpy 陣列,就像熊貓一樣。
import numpy as np
import pandas as pd
x = np.array([np.arange(0, 10), np.arange(10,20)])
x.reshape(10, 2)
pd.DataFrame({
'x0': x[0, :],
'x1': x[1, :]
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/328537.html
