python:继续迭代,直到满足某个条件
python: continue iteration until a certain condition is met
我有一个类似下面的项目:
my_project:
|__my_new_data
| |__new_data.csv
|
|__my_original_data
| |__original_data.csv
|__process.py
|
|__read.py
我的 read.py 中有一个函数应该从我项目的数据目录中读取数据,将它们连接为熊猫数据框,然后我将最终数据框导入我的 process.py 中进行处理数据并替换 my_new_data_directory
中的 new_data.csv 文件
from typing import Final
def iteration():
data= []
my_new_data = pd.read_csv((os.path.join(my_new_data, 'new_data.csv')))
my_original_data = pd.read_csv((os.path.join(my_original_data, 'original_data.csv')))
all_data = pd.concat([my_new_data, my_original_data])
all_data.drop_duplicates(subset="text", keep=False, inplace=True)
len_first_comb: Final = len(all_data)
len_iterated_data = len(all_data)
while len_iterated_data > len_first_comb:
data.append(all_data)
continue:
else:
print ('iteration is finished.')
return data
所以,我想要发生的是将 new_data 和原始数据组合的过程发生在每个过程中,直到新数据的 len 不再大于第一个数据的 len组合。然后迭代停止
我试图将第一个组合len保存为最终长度进行比较,但不知道如何迭代地进行这种比较。
def iteration():
data= []
my_new_data = pd.read_csv((os.path.join(my_new_data, 'new_data.csv')))
my_original_data = pd.read_csv((os.path.join(my_original_data, 'original_data.csv')))
all_data = pd.concat([my_new_data, my_original_data])
all_data.drop_duplicates(subset="text", keep=False, inplace=True)
len_first_comb: Final = len(all_data)
len_iterated_data = len(all_data)
while len_iterated_data > len_first_comb:
data.append(all_data)
all_data = pd.concat([all_data, data])
all_data.drop_duplicates(subset="text", keep=False, inplace=True)
len_iterated_data = len(all_data)
else:
print ('iteration is finished.')
return data
我有一个类似下面的项目:
my_project:
|__my_new_data
| |__new_data.csv
|
|__my_original_data
| |__original_data.csv
|__process.py
|
|__read.py
我的 read.py 中有一个函数应该从我项目的数据目录中读取数据,将它们连接为熊猫数据框,然后我将最终数据框导入我的 process.py 中进行处理数据并替换 my_new_data_directory
中的 new_data.csv 文件from typing import Final
def iteration():
data= []
my_new_data = pd.read_csv((os.path.join(my_new_data, 'new_data.csv')))
my_original_data = pd.read_csv((os.path.join(my_original_data, 'original_data.csv')))
all_data = pd.concat([my_new_data, my_original_data])
all_data.drop_duplicates(subset="text", keep=False, inplace=True)
len_first_comb: Final = len(all_data)
len_iterated_data = len(all_data)
while len_iterated_data > len_first_comb:
data.append(all_data)
continue:
else:
print ('iteration is finished.')
return data
所以,我想要发生的是将 new_data 和原始数据组合的过程发生在每个过程中,直到新数据的 len 不再大于第一个数据的 len组合。然后迭代停止 我试图将第一个组合len保存为最终长度进行比较,但不知道如何迭代地进行这种比较。
def iteration():
data= []
my_new_data = pd.read_csv((os.path.join(my_new_data, 'new_data.csv')))
my_original_data = pd.read_csv((os.path.join(my_original_data, 'original_data.csv')))
all_data = pd.concat([my_new_data, my_original_data])
all_data.drop_duplicates(subset="text", keep=False, inplace=True)
len_first_comb: Final = len(all_data)
len_iterated_data = len(all_data)
while len_iterated_data > len_first_comb:
data.append(all_data)
all_data = pd.concat([all_data, data])
all_data.drop_duplicates(subset="text", keep=False, inplace=True)
len_iterated_data = len(all_data)
else:
print ('iteration is finished.')
return data