我试图弄清楚如何对创建的数组进行条件处理。
first6 = df["Tbl_Name_Dur"].unique()[0:6]
for element in first6:
print(element)
df_test = df[df['Tbl_Name_Dur'] for element in first6]
我已经打印了元素,并且可以正常工作。我如何以基于first6选择数据框为条件。我尝试了以下方法:
df_test = df[df['Tbl_Name_Dur'] in first6]
df_test = df[df['Tbl_Name_Dur'] == first6]
任何帮助将不胜感激!
答案 0 :(得分:0)
您可以使用isin
方法。这是一个示例:
import pandas as pd
data_dict = {'col': pd.Series([1, 2, 3, 4, 4, 5, 6, 7, 8 ,8 ])}
df = pd.DataFrame(data_dict)
first6 = df.col.unique()[0:6]
df = df[df.isin(first6)]
df.dropna(inplace=True)
print(df)
或者,您可以将lambda
函数与map
一起使用:
import pandas as pd
data_dict = {'col': pd.Series([1, 2, 3, 4, 4, 5, 6, 7, 8, 8 ])}
df = pd.DataFrame(data_dict)
first6 = df.col.unique()[0:6]
df = df[df.col.map(lambda x : x in first6)]
print(df)
输出:
col
0 1
1 2
2 3
3 4
4 4
5 5
6 6