Я должен соответствовать платежным проливам с данными Transaction . Эти два набора данных не связаны напрямую, так как среди них нет общего идентификатора. их как можно ближе. с тем же блоком_ид останется непревзойденным.
import pandas as pd
transactions = pd.DataFrame(
[
["9103cd45-95a4-4671-892b-10c1192d774e", 2.40, "2023-09-20", "20230920|2.40", None],
["900899fb-13eb-483d-9fc4-aa62d18e0b8a", 2.40, "2023-09-20", "20230920|2.40", None],
["6007e789-fa40-4983-9dc7-06560c98616b", 2.40, "2023-09-20", "20230920|2.40", None],
["421714d0-b6dc-4dd3-b747-6ba2fc7b63b7", 414.66, "2023-09-20", "20230920|414.66", None],
["8845a1ef-c625-4874-89cf-0ad83abd7ec3", 429.64, "2023-09-20", "20230920|429.64", None],
["64934365-c5b6-4976-9b73-ebd0605e4ad6", 1377.50, "2023-09-20", "20230920|1377.50", None],
["571bc685-6459-4fe9-ac1c-ea4a80a2533b", 2190.00, "2023-09-20", "20230920|2190.00", None],
["20876834-40a2-42e3-80af-728d7dda1c84", 2600.00, "2023-09-20", "20230920|2600.00", None],
["e642c6b7-d154-49d2-9863-7849ff64b8c8", 10480.02, "2023-09-20", "20230920|10480.02", None],
["317f414e-8570-41e3-ac4c-39a5bd20a6a4", 32856.66, "2023-09-20", "20230920|32856.66", None]
],
columns=["id", "amount", "date", "block_id", "slip_id"]
)
payment_slips = pd.DataFrame(
[
["7f2176dd-68ee-4b49-9f57-9e661cb3bf41", 2.40, "2023-09-20", "20230920|2.40"],
["21843656-15b1-4ea6-b9a8-6ad9672b4a2e", 10.80, "2023-09-20", "20230920|10.80"],
["b0389f34-086d-4e66-ac75-a69c215d7c9a", 206.85, "2023-09-20", "20230920|206.85"],
["857a161b-a8fe-4939-b951-686e73a7c5b6", 414.66, "2023-09-20", "20230920|414.66"],
["f6f8305c-5260-4bce-9be8-0618ed500389", 429.64, "2023-09-20", "20230920|429.64"],
["790d5425-ed53-4ecc-8e13-5d7726cae289", 1377.50, "2023-09-20", "20230920|1377.50"],
["f0885f50-6617-4fa8-a2e4-79e917cb2237", 2190.00, "2023-09-20", "20230920|2190.00"],
["5f24b735-8dfb-4592-bef5-6fb74d6f4e24", 2600.00, "2023-09-20", "20230920|2600.00"],
["717cc01c-7520-45ad-bb72-2c0bafc79c6d", 10480.02, "2023-09-20", "20230920|10480.02"],
["f3b31d20-9a74-43ac-aaee-56a3b87674d8", 32856.66, "2023-09-20", "20230920|32856.66"]
],
columns=["id", "amount", "date", "block_id"]
)
known_slips = set()
for transaction in transactions.itertuples():
match = payment_slips.loc[(payment_slips['block_id'] ==transaction.block_id) & (~payment_slips['id'].isin(known_slips))]
if not match.empty:
transactions.at[transaction.Index, 'slip_id'] = match.iloc[0]['id']
known_slips.add(match.iloc[0]['id'])
< /code>
В приведенном выше примере вы можете видеть, что 3 лучших транзакции будут соответствовать первым платежным проливам, что неверно, только первая транзакция должна иметь совпадение, в то время как другие не надеты t. < /p>
Это было решено путем отслеживания всех соответствующих идентификаторов скольжения, поэтому ранее согласованный идентификатор не может быть снова в паре. < /p>
, пока этот подход работает , Я знаю, что это неэффективно, потому что я должен идентифицировать всю транзакции данных и повторно просмотреть данные о проскальзывании данных. База данных SQL, и я хотел бы использовать [b] pandas DataFrame Read_sql [/b], как я могу парить данные, используя параметр chunkize
.
В настоящее время мои исследования указали мне на Pandas DataFrame Merge для достижения этого, но кажется, что я должен выполнить Cross-Apply , а затем фильтровать.
Этот подход также кажется расточительным , поскольку я в конечном итоге получаю декартовый продукт рамков, который легко превзойдет тысячи записей.
Есть ли способ решить эту проблему с решением Pandas?
Я должен соответствовать платежным проливам с данными Transaction . Эти два набора данных не связаны напрямую, так как среди них нет общего идентификатора. их как можно ближе. с тем же блоком_ид останется непревзойденным. [code]import pandas as pd
for transaction in transactions.itertuples(): match = payment_slips.loc[(payment_slips['block_id'] ==transaction.block_id) & (~payment_slips['id'].isin(known_slips))] if not match.empty: transactions.at[transaction.Index, 'slip_id'] = match.iloc[0]['id'] known_slips.add(match.iloc[0]['id']) < /code> В приведенном выше примере вы можете видеть, что 3 лучших транзакции будут соответствовать первым платежным проливам, что неверно, только первая транзакция должна иметь совпадение, в то время как другие не надеты t. < /p> Это было решено путем отслеживания всех соответствующих идентификаторов скольжения, поэтому ранее согласованный идентификатор не может быть снова в паре. < /p> , пока этот подход работает , Я знаю, что это неэффективно, потому что я должен идентифицировать всю транзакции данных и повторно просмотреть данные о проскальзывании данных. База данных SQL, и я хотел бы использовать [b] pandas DataFrame Read_sql [/b], как я могу парить данные, используя параметр chunkize [/code]. В настоящее время мои исследования указали мне на [b] Pandas DataFrame Merge [/b] для достижения этого, но кажется, что я должен выполнить [b] Cross-Apply [/b], а затем фильтровать. Этот подход также кажется расточительным , поскольку я в конечном итоге получаю декартовый продукт рамков, который легко превзойдет тысячи записей. Есть ли способ решить эту проблему с решением Pandas?
Я должен соответствовать платежным проливам с данными Transaction . Эти два набора данных не связаны напрямую, так как среди них нет общего идентификатора. их как можно ближе. с тем же блоком_ид останется непревзойденным.
import pandas as pd...
Я должен соответствовать платежным проливам с данными Transaction . Эти два набора данных не связаны напрямую, так как среди них нет общего идентификатора. их как можно ближе. с тем же блоком_ид останется непревзойденным.
transactions =...
Я должен соответствовать платежным проливам с данными Transaction . Эти два набора данных не связаны напрямую, так как среди них нет общего идентификатора. их как можно ближе. с тем же блоком_ид останется непревзойденным.
transactions =...
Я пытаюсь сделать приложение, в котором пользователь может отреагировать, и у меня возникли проблемы с отношениями между новостями (посты) и реакциями. Когда я пытаюсь отреагировать на сообщение, это дает мне stackoverflowerror
news.java
@Data...
Я пытаюсь сделать приложение, в котором пользователь может отреагировать, и у меня возникли проблемы с отношениями между новостями (посты) и реакциями. Когда я пытаюсь отреагировать на сообщение, это дает мне stackoverflowerror
news.java
@Data...