【发布时间】:2021-10-20 14:21:20
【问题描述】:
我可以使用以下代码将多个一维数组保存到 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 文件,其中包含 2 个单独列中的 X 的值(如预期的那样)。
现在,如果我想将 X 和 y 保存在同一个 CSV 文件的不同列中,并且如果我想给出名称 X1、X2、y1 和 y2 什么我需要更改代码吗?
我预期的 CSV 是 make_regression 函数生成的 X 和 y 的值。从函数中,我们得到二维X 和二维y。因此,CSV 应该包含 4 列(例如,X1、X2、y1、y2)。
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
【问题讨论】:
-
CSV 主要用于存储表格,但我想您也可以在其中存储一个数组;您能否提供预期 CSV 文件的前几行?
-
@Fravadona 感谢您的评论。我预期的 CSV 是
make_regression函数生成的X和y的值。从函数中,我们得到二维X和二维y。因此,CSV 应该包含 4 列(例如,X1、X2、y1、y2)。如果我需要更多解释问题,请告诉我。 -
Numpy
concatenate可能是您想要的:my_df = pd.DataFrame( np.concatenate((X, y), axis=0) )是否适合您? -
@Fravadona 应该根据问题
axis=1 -
哎呀,你是对的@0Knowledge ;-)
标签: python python-3.x pandas numpy