我对Python还不熟悉。我想将索引设置为对每个组重复的特定行元素集。 我的数据帧:
data_dict ={'0_deg': [2, 11, 21, -17, 5, 40, 22, 7, 20, -6, -6, -6, 24, 21, 20, 61, 21, 5, 2, 17],
'10_deg': [12, -21, 11, 1, 4, -2, 33, 53, 18, 10, -3, -1, 23, 18, 23, 8, 11, -25, 21, -14],
'20_deg': [23, -10, 3, 20, -41, 13, 10, 5, -9, 7, -4, -21, 14, -26, -31, 9, 1, -15, 3, -6],
'30_deg': [12, 9, -5, 4, 9, -46, 1, -8, -27, 3, -9, -14, 15, -6, 14, 7, -11, 5, 19, -4]}
data_dict = pd.read_csv('Dataset.csv')
data_dict = data_dict.set_index('Indexes')
#row idx of a group in this list
idx =[4,10,37,109,133]
在这里,一个列表被创建为idx,索引值被默认地写入。你知道吗
但是对于一个更大的矩阵,每个组有1000多个索引(随机值),这将是一个非常困难的任务。你知道吗
我想要的是,当我读取一个CSV文件时,应该选择行中的第一个值,直到相同的值出现在同一索引中,它应该被视为1组,并且第一组的索引必须存储在idx
例如:在我的数据集的小版本中,从第一列Indexes
开始,第一个值即4,10,37,109,133
是第一组的索引。对于下一组,这些值以相同的顺序重复。
只有它们不应该在代码中手动输入。一个组应该被认为是下一个4
发生的单元。因此,索引值4到133必须视为idx下的1组。这是因为我需要idx来获取代码的进一步部分。你知道吗
我的实际数据集每个组有1000多个索引值。因此,idx必须自动获取组的所有值。你知道吗
# getting some dimensions and sorting the data
row_idx_length = len(idx)
group_length = len(data_dict['0_deg'])
number_of_groups = len(data_dict.keys())
idx = idx*number_of_groups
data_arr = np.zeros((group_length,number_of_groups),dtype=np.int32)
如果我正确地理解了你的问题,你需要得到给定数据帧的idx,索引设置是这样的。你知道吗
设置完成后,只需计算第0个值的重复位置。您可以直接计算它,但也许为进一步的计算创建一个额外的列也更有用。你知道吗
我相信你需要^{} 和整数除法来计算重复次数:
但是如果get error(
N
和M
是一些整数):这意味着在最后一个组中缺少一些元素,所以按
1
添加下一个组,并按index of DataFrame
的长度过滤:相关问题 更多 >
编程相关推荐