值的实例数量熊猫据帧列假设你有以下信息的熊猫柱:有效地创建一个包含另一列
>> df
num
0 0
1 1
2 1
3 2
4 3
5 3
列到左边的NUM列是索引栏。 我想创建一个实例列,告诉我哪个num实例出现。这是结果,我想:
>> df
num instance
0 0 1
1 1 1
2 1 2
3 2 1
4 3 1
5 3 2
下面是我写这样做代码:
>> my_list = []
>> for index, row in df.iterrows():
>> my_list.append(df.loc[index,'num'])
>> # The IF condition is done to prevent my_list from growing too big.
>> if len(my_list)>1:
>> if my_list[len(my_list)-1] == my_list[len(my_list)-2]:
>> del my_list[:len(my_list)-2]
>> my_list['instance'] = len([element for element in my_list if \
element == df.loc[index,'num'])
该代码完全适用于小DataFrames,但它需要的时间如愿长量数字列由几百万行组成时完成。有没有办法创建实例列的方式,我想在不使用.iterrows()?
你能描述一下你所说的 “实例” 是什么意思?这对我来说并不明显,即使看着你的代码。 –