我有Pandas数据框看起来像这样
data = {
'sec': [35,36,38,0,1,2,3,4,5,9],
'rpm': [40.5,41.6,56,56.8,67,89,90,91,102,123]
}
df = pd.DataFrame(data)
字符串
我希望在这个rpm列中的输出如下36,38缺少37个值我想追加37个值并在rpm的位置0在37和第8索引5到9缺少6,7,8个值附加缺少值并在rpm的位置0,0,0
data = {
'sec': [35,36,37,38,0,1,2,3,4,5,6,7,8,9],
'rpm': [40.5,41.6,0,56,56.8,67,89,90,91,102,0,0,0,123]
}
df1 = pd.DataFrame(data)
finally my expected output is sec column has to reset like this
data = {
'sec': [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
'rpm': [40.5,41.6,0,56,56.8,67,89,90,91,102,0,0,0,123]
}
df2 = pd.DataFrame(data)
的数据
最后我的预期输出是sec列必须重置像这样如何做友好帮助我通过这个
3条答案
按热度按时间9ceoxa921#
这里有一个方法:
字符串
输出量:
型
bqujaahr2#
以下是获得问题描述的结果的方法:
字符串
输出量:
型
说明:
start
和end
,True标记列sec
中每个非递减子序列的边界secFull
,该列表包括列sec
中的每个这样的值的子序列的全整数范围的级联start
和end
)并使用reindex()
扩展输入中的行数,以便为缺失的sec
值腾出空间,并使用0填充其对应的rpm
值sec
替换为从1开始的整数序列。jxct1oxe3#
在Python中使用pandas,您可以使用**reindex()和fillna()**方法来清除DataFrame的'sec'列中的值,并将任何缺失的值替换为0。下面是如何实现所需转换的示例:
字符串