Pandas python中从数组中提取列

Pandas python中从数组中提取列,pandas,numpy,dataframe,Pandas,Numpy,Dataframe,我是Python的初学者,我被数据所困扰,数据是由32763个数字组成的数组,用逗号分隔。请在这里查找数据 我想把它转换成两列,第一列来自(0:16382),第二列来自(2:32763)。最后,我想将第1列绘制为x轴,第2列绘制为Y轴。我尝试了以下代码,但无法提取列 import numpy as np import pandas as pd import matplotlib as plt data = np.genfromtxt('oscilloscope.txt',delimiter='

我是Python的初学者,我被数据所困扰,数据是由32763个数字组成的数组,用逗号分隔。请在这里查找数据

我想把它转换成两列,第一列来自(0:16382),第二列来自(2:32763)。最后,我想将第1列绘制为x轴,第2列绘制为Y轴。我尝试了以下代码,但无法提取列

import numpy as np
import pandas as pd
import matplotlib as plt

data = np.genfromtxt('oscilloscope.txt',delimiter=',')
df = pd.DataFrame(data.flatten())
print(df)

然后我想把数据写进一个文件中,比如说,数据1的格式如附件pic所示,如果没有看到数据的格式,很难回答,但是你可以试试

data = np.genfromtxt('oscilloscope.txt',delimiter=',')
print(data.shape) # here we check we got something useful

# this should split data into x,y at position 16381
x = data[:16381]
y = data[16381:]


# now you can create a dataframe and print to file
df = pd.DataFrame({'x':x, 'y':y})
df.to_csv('data1.csv', index=False)
试试这个

#输入为数据帧df,其块大小,提取输出为列表。你可以说你想要什么

def split_dataframe(df, chunk_size = 16382): 
    chunks = list()
    num_chunks = len(df) // chunk_size + 1
    for i in range(num_chunks):
    chunks.append(df[i*chunk_size:(i+1)*chunk_size])
return chunks


我现在不能写一个答案,但是你可以在输入字符串上拆分,然后使用数组创建包含两列的数据框。您可以在数组上使用range(0:16382)来定义每列的内容。因此,除了32763是奇数,并且需要x,y具有相同的长度外,它应该可以工作。你想怎么处理?这是我这边的错误。我把x读到了16381页。我想把它再次写入文件,所以我写了类似这样的东西(不写任何东西)time=str(x)ch1data=str(y)file=open(“示波器1.txt”,“w”)file.write(time+“\t”+ch1data)file.close看起来还行,除非您可能想要
file.close()
(注意括号)。这应该写入文件,但可能不是您想要的格式。你想在档案里怎么写?请提供您想要的输出的片段谢谢您的帮助,我已经修改了我的问题的格式,我修改了我的答案
np.array_split