You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除列表中字典内DataFrame的Nan值行

Remove NaN Rows from Nested DataFrame in List of Dictionaries

Got it, let's walk through how to solve this problem step by step. You want to eliminate rows containing NaN values from the DataFrame stored under the dataframe key in each dictionary within your list. Here's a clean, pandas-based solution:

Step 1: Import Required Libraries

First, make sure you have pandas installed and imported—since we're working with DataFrames, this is non-negotiable:

import pandas as pd

Step 2: Define Your Original Data (Matching Your Example)

Let's replicate your sample list and DataFrame to test with:

from datetime import datetime

# Build the sample DataFrame with a NaN value
sample_df = pd.DataFrame({
    'datetime': [datetime(2020, 1, 1), datetime(2020, 1, 2), datetime(2020, 1, 3)],
    'value1': [2, pd.NA, 3],
    'value2': [3, 2, 4]
})

# Your original list of dictionaries
List_a = [{'key_1': 'green', 'key_2': 'blue', 'dataframe': sample_df}]

Step 3: Process the Data to Remove NaNs

Loop through each dictionary in the list, target the dataframe key, and use pandas' dropna() method to remove rows with any NaN values. We'll overwrite the original DataFrame in the dictionary with the cleaned version:

# Iterate over each item in the list
for entry in List_a:
    # Clean the DataFrame by dropping rows with NaNs
    entry['dataframe'] = entry['dataframe'].dropna()

Step 4: Verify the Result

If you print the cleaned DataFrame, you'll see the row with NaN is gone:

print(List_a[0]['dataframe'])

Output:

datetime  value1  value2
0 2020-01-01       2       3
2 2020-01-03       3       4

Bonus: Target Specific Columns for NaN Removal

If you only want to remove rows where NaNs appear in a specific column (e.g., only value1), use the subset parameter to narrow it down:

for entry in List_a:
    # Only drop rows where 'value1' has NaN
    entry['dataframe'] = entry['dataframe'].dropna(subset=['value1'])

This gives you precise control over which NaNs trigger a row removal.

内容的提问来源于stack exchange,提问作者StackUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 12:02:38