如何在Pandas Dataframe中将行向右移动一列或向左移动一列?

kx1ctssn  于 2023-08-01  发布在  其他
关注(0)|答案(2)|浏览(167)

我的数据集是.tsv文件的格式,当使用pd.read_table时,其中一个文件不能正确解析数据。

当前数据集解析如下:

col2    col3    col4    col5
abc     1        2      3       nan
def     4        5      6       nan
ghi     7        8      9       nan

字符串

预期解析

col1    col2    col3    col4
abc     1        2      3       
def     4        5      6       
ghi     7        8      9


我有2个看起来完全一样的.tsv文件,但当它们通过pd.read_table()时,其中一个得到解析,就像上面的表,其中第一列被移位。我不知道为什么会有矛盾。
这就是我如何将数据解析为dataframe的方法

df = pd.read_table("pi_data.tsv", parse_dates=['TimeStamp'])

pd数据集图片


的数据
如您所见,批处理列名称应位于行值为PBX* 的上方

lnxxn5zx

lnxxn5zx1#

下面的行应该重置索引并获得正确的列顺序。
df=df.reset_index()
参考-https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.reset_index.html

dfty9e19

dfty9e192#

如果要将整个文件作为表加载。使用separator将其作为csv读取应该会有所帮助

pd.read_csv('pi_data.tsv',sep='\t')

字符串

相关问题