我有n列和x行数的数据文件。
如何将每列与其他每列数据相对应?
data=[]
inFile = open('random.data','r')
for line in inFile.readlines():
line = line.split()
b = np.array([line],dtype=float)
for i in range(len(b)):
c=(b[i])
data.append(c)
inFile.close()
这产生了一个数组,我可以在其中索引每个列,如下所示:
datax = ([i[0] for i in data])
datay = ([i[1] for i in data])
dataz = ([i[2] for i in data])
dataa = ([i[3] for i in data])
然后互相对抗:
plt.plot(datax,datay,dataz,dataa,'o')
如何使用for循环来做到这一点,使其适用于n个列?
最佳答案
假设上面代码中的data
是pandas df,下面的代码将起作用:
import matplotlib.pyplot as plt
df_data = data
for i in range(len(df_data.columns)):
for j in range(len(df_data.columns)):
x = df_data.iloc[:,df_data.index[i]]
y= df_data.iloc[:,df_data.index[j]]
plt.figure()
plt.plot(x[i],y[j])
要将数据读取到df,下面是代码:
data = pd.read_csv('random.data', sep=" ", header=None) #sep depends on your file, it can be space, semicolon or anything.
data.columns = ["a", "b","c", ... "etc.", ...] # Put names of your column in place of a,b,c etc.
关于python - 如何将数据的每一列与其他数据列相对应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52766174/