如何将x
名称列表应用于更大的等长项目列表(或数据框行)?
我有一个x
行的数据帧,并且我需要将一组y
名称应用于该帧。
例如,对于df 10 rows
long和3个名称,将name[0]
应用于df row 0-3
;将name[1]
应用于df 3-6
;将names[2]
应用于df 6-9
。
我不能使用itertools循环,因为我需要它的顺序(从name[0]
到df row 0-3
)
谢谢。
发布于 2019-05-23 03:42:55
使用带有labels=
参数的pandas.cut
:
将
Bin值划分为离散的间隔。当您需要对数据值进行分段和排序时,请使用cut。
标签:指定返回的回收站的标签。
import pandas as pd
df = pd.DataFrame({"A": [1,2,3,4,5,6,7,8,9,10]})
l1 = "a", "b", "c" # abc
df["B"] = pd.cut(range(len(df)), len(l1), labels=l1)
发布于 2019-05-24 23:10:53
import pandas as pd
import itertools
df = pd.DataFrame({"A": [1,2,3,4,5,6,7,8,9]})
l1 = ["a", "b", "c"]
dic = sorted(zip(df.A.index,itertools.cycle(l1)), key= lambda x: x[1])
df['B'] = [x[1] for x in dic]
https://stackoverflow.com/questions/56263693
复制相似问题