从 python 中的文件中提取和绘制数据
Extract and plot data from a file in python
我将一些数据存储在文件 (xyz.dat) 中,格式如下:
1 0.997790664988225E+000 0.100177762164687E+001 0.100034262755073E+001
2 0.997788473973293E+000 0.100177969047903E+001 0.100034273413754E+001
3 0.997782981718032E+000 0.100178486093194E+001 0.100034301665219E+001
我想要做的是,对于每一行,将第一列存储为 x
,将其余值存储为 y[1]
、y[2]
、y[3]
。 ..很快。稍后我想分别为每一行绘制存储在 y[n]
中的数据。我是 python 的新手,曾尝试使用 split() 但收效甚微。我要么无法分离出第一列,要么在每一行的末尾都有一个尾随 '\n'
。任何帮助将不胜感激。提前致谢。
你可以试试:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_fwf('file.dat')
plt.plot(df.iloc[:, 0], df.iloc[:,1])
plt.show()
您可以按照上面的方式进行绘图。希望这有帮助。
您可以按如下方式阅读和绘制:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('xyz.dat', sep=' ', header=None, usecols=(1, 2, 3)).T
df.plot(lw=0.5)
plt.show()
这会给你输出:
您的 3 行包含非常相似的数据。
如果列数未知,您可以正常读取它并删除第一个 CSV 列(实际上是转置后的第一行):
df = pd.read_csv('xyz.dat', sep=' ', header=None).T.drop(0)
df.plot(lw=0.5)
plt.show()
我将一些数据存储在文件 (xyz.dat) 中,格式如下:
1 0.997790664988225E+000 0.100177762164687E+001 0.100034262755073E+001
2 0.997788473973293E+000 0.100177969047903E+001 0.100034273413754E+001
3 0.997782981718032E+000 0.100178486093194E+001 0.100034301665219E+001
我想要做的是,对于每一行,将第一列存储为 x
,将其余值存储为 y[1]
、y[2]
、y[3]
。 ..很快。稍后我想分别为每一行绘制存储在 y[n]
中的数据。我是 python 的新手,曾尝试使用 split() 但收效甚微。我要么无法分离出第一列,要么在每一行的末尾都有一个尾随 '\n'
。任何帮助将不胜感激。提前致谢。
你可以试试:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_fwf('file.dat')
plt.plot(df.iloc[:, 0], df.iloc[:,1])
plt.show()
您可以按照上面的方式进行绘图。希望这有帮助。
您可以按如下方式阅读和绘制:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('xyz.dat', sep=' ', header=None, usecols=(1, 2, 3)).T
df.plot(lw=0.5)
plt.show()
这会给你输出:
您的 3 行包含非常相似的数据。
如果列数未知,您可以正常读取它并删除第一个 CSV 列(实际上是转置后的第一行):
df = pd.read_csv('xyz.dat', sep=' ', header=None).T.drop(0)
df.plot(lw=0.5)
plt.show()