2
我有一個如下所示的數據框。我想要做的是創建一個基於索引VALUE的另一列(因此任何少於10的列都會有另一列並被標記爲「小」)。我可以像lengthDF[lengthDF.index < 10]
那樣獲得我想要的值,但是我確定如何獲得我想要的額外列。我試過這Create Column with ELIF in Pandas,但無法讓它讀取索引...Python熊貓根據索引的值創建列
LengthFirst LengthOthers
0 1 NaN
4 NaN 1
9 NaN 1
13 NaN 1
17 1 1
18 NaN 1
19 NaN 1
20 1 NaN
21 1 1
22 3 4
23 1 NaN
24 7 6
25 1 2
26 16 19
27 1 2
28 24 8
29 9 12
30 73 65
31 15 12
32 55 60
33 28 21
34 29 31
是的,工作,謝謝。我仍然試圖找出熊貓切片和索引。問題:有沒有辦法將其作爲一個班輪或功能?假設我想同時製作三個小桶,中等,大桶? – RedRaven
您可以使用地圖功能。像lengthDF ['size'] = lengthDF.index.map(lambda x:'small'如果x <10 else'large')。很顯然,你可以使用一個更復雜的命名函數來代替lambda表達式,該函數根據每個索引值返回任意數量的值(例如'small','medium','large')。如果性能是一個問題,你可能想要運行一些測試:我不確定地圖函數是否是矢量化的,所以在上面的回答中做幾個遍可能會更快,而不是使用map來完成線。 – capitalistcuttle
退房numpy.where,是做這種事情更簡潔的方式。 http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html – qwwqwwq