我想编写代码,查看电子表格并使用特定列创建一个表。所需值的列#将来可能会更改,因此我必须使用名称而不是一组数字来搜索电子表格。下面是给出的电子表格示例:
X,Y,Z,Distance,Speed,Setting
7,38,1,36,66,1
9,8,2,73,51,1
10,11,4,47,77,2
10,8,1,31,91,3
10,11,3,65,72,2
9,9,7,71,83,1
一切都是基于设置,所以我希望设置列在最左边。我还需要距离和速度列,所以我不必查看X, Y和z。我还希望设置值按升序排序(设置本身的顺序无关紧要,只要所有设置1都在所有设置2之前,并继续下去)。下面是我希望基于这个电子表格输出的表格示例:
设置 | 距离速度 | 1 | 36 | 66 | 1
---|---|---|
73 | 51 | |
71 | 83 | |
47 | 77 | |
65 | 72 | |
3 | 31日 | 91 |
使用Pandas应该非常简单。试试这样做:
import pandas as pd
# read csv file
df_input = pd.read_csv("data.txt", delimiter=",")
# move Settings column as first column
col_set = df_input.pop("Setting")
df_input.insert(loc=0, column="Setting_moved", value=col_set)
print(df_input)
# sort on the new Settings column
df_input = df_input.sort_values("Setting_moved")
print(df_input)
顺便说一句,你也可以保持相同的名称Setting
而不是Setting_moved
,但只是想表明你必须指定一个列名。