我有一个 Pandas 的数据框,有 9 列(仅称为数据框),其中 5 列称为:[['DEG1','DEG2','DEG3','DEG4','DEG5']],它有近 2000 行。我有一个列表,从中构建另一个包含 5 列的数据框,名为 [['deg1','deg2','deg3','deg4','deg5']],该数据框只有 1 行包含需要的数据系列要在其他数据框中检查。
我需要检查小数据帧(n_serie_df)中的整个系列(5列)是否在大数据帧中重复,这里是我的实际状态,它给我:“ValueError:项目错误长度1而不是1709。” .
这是我的实际代码:
import pandas as pd
import numpy as np
def check_repeated_deg(n_serie_list, dataframe):
n_serie_dict = {
"DEG1": [n_serie_list[0]],
"DEG2": [n_serie_list[1]],
"DEG3": [n_serie_list[2]],
"DEG4": [n_serie_list[3]],
"DEG5": [n_serie_list[4]],
}
n_serie_df = pd.DataFrame(n_serie_dict)
repeated = dataframe[np.all(n_serie_df.values == n_serie_df.values, 1)].any().any()
if repeated:
return f"This deg serie is already measured"
else:
return None
dataframe = pd.read_csv(r"data_deg.csv")
n_serie_list = [2, 11, 21, 27, 41]
result = check_repeated_deg(n_serie_list, dataframe)
print(result)
IIUC用途:
repeated = (n_serie_df.values == n_serie_list).all(axis=1).any()