【问题标题】:I want to take data from CSV file and to put into Two different arrays variables我想从 CSV 文件中获取数据并放入两个不同的数组变量中
【发布时间】:2016-07-31 17:13:27
【问题描述】:

我在 python 中有这段代码。正在导入 CSV 文件。

Location = r'C:\assign\lrdataset.csv'
df = pd.read_csv(Location, names=['Xi','Yi'])
print(df.columns)

打印显示:

   Xi          Yi
0   -2.552990 -218.408328
1    1.764052  155.118872
2   -1.791328 -128.884326
3   -1.214077  -91.571734
4   -1.444940 -122.267726
5    0.195070   12.248124
6    1.480515  135.444007
........

但我想将这两个输入和输出值以数组形式放入两个不同的变量中。像这样。

X=np.array([[-2.552990],[1.764052],[-1.791328],[-1.214077]])

Y=np.array([[-218.408328],[155.118872],[-128.884326],[-91.571734]])

【问题讨论】:

  • 很好。你试过什么?您从哪里获得 XY 的值?
  • 如果你不明白我在问什么,你为什么要投反对票?数据来自 CSV 文件。很简单。 CSV 是 excel 文件。包含 2 列。
  • 关注的不是 X 和 Y 的值。仅关注数据的表示。
  • 回到我原来的问题——到目前为止你尝试了什么? Stack Overflow 不是代码编写或教程服务。请edit您的问题并发布您迄今为止尝试过的内容,包括示例输入、预期输出以及任何错误或回溯的全文
  • X = df.Xi.values

标签: python csv python-3.x pandas


【解决方案1】:

这就是你想要的:

In [43]: X = df.Xi.reshape((len(df), 1))

In [44]: X
Out[44]:
array([[-2.55299 ],
       [ 1.764052],
       [-1.791328],
       [-1.214077],
       [-1.44494 ],
       [ 0.19507 ],
       [ 1.480515]])

如果你想四舍五入你的值:

In [62]: df.Xi.round(5).reshape(len(df), 1)
Out[62]:
array([[-2.55299],
       [ 1.76405],
       [-1.79133],
       [-1.21408],
       [-1.44494],
       [ 0.19507],
       [ 1.48052]])

【讨论】:

  • [3.55481793e-01][-5.35270165e-01][-3.04614305e+00][1.99300197e-01][5.19453960e-02][-8.59307670e-02][-7.075056] e-01] [ -5.54309627e-01] [ -7.92286662e-01] [ -5.90057646e-01] [ 6.89818165e-01] [ -1.54477110e+00] [ 1.03493150e-02] [ -1.53​​624369e+00 ] [ 8.64436199e-01] 它以列中这些不正确值的形状给出输出。
  • @JawwadRafiq,尝试设置浮点值的格式:pd.options.display.float_format = '{:.5f}'.format
  • 我复制了这一行,因为它在我的代码中。但输出是一样的。 [3.55481793e-01].... .
  • @JawwadRafiq,您可能需要查看this
  • [3.55480000e-01][-5.35270000e-01][-3.04614000e+00][1.99300000e-01][5.19500000e-02][-8.59300000e-02][-7.075100] e-01] [ -5.54310000e-01] [ -7.92290000e-01] [ -5.90060000e-01] [ 6.89820000e-01] [ -1.54477000e+00]
【解决方案2】:

你可以试试reshapeshape

print df.shape
(7, 2)

X = df.Xi.reshape((df.shape[0],1))
print X
[[-2.55299 ]
 [ 1.764052]
 [-1.791328]
 [-1.214077]
 [-1.44494 ]
 [ 0.19507 ]
 [ 1.480515]]

Y = df.Yi.reshape((df.shape[0],1))
print Y
[[-218.408328]
 [ 155.118872]
 [-128.884326]
 [ -91.571734]
 [-122.267726]
 [  12.248124]
 [ 135.444007]]

【讨论】:

  • [ 3.55480000e-01] [ -5.35270000e-01] [ -3.04614000e+00] [ 1.99300000e-01] [ 5.19500000e-02] [ -8.59300000e-02] [ -7.0751000 e-01] [ -5.54310000e-01] [ -7.92290000e-01] [ -5.90060000e-01] [ 6.89820000e-01] [ -1.54477000e+00]
  • 我无法以正确的格式呈现它。请帮忙:(
  • 它是如何工作的?还是有问题?也许帮助this - np.set_printoptions(suppress=True)
  • [-52.57817499][-268.2346978][2.81502832][24.85009055][18.77058224][-31.35049768][-29.87467044][-52.92517068][-52.92517068]
  • 好的,没问题。美好的一天。
猜你喜欢
  • 2022-01-14
  • 2022-01-25
  • 2013-08-06
  • 1970-01-01
  • 2016-01-06
  • 2023-03-20
  • 2020-11-30
  • 2019-09-28
  • 1970-01-01
相关资源
最近更新 更多