不dropna在dataframe中寻找第一个不含空行的行index以及第一个不含空列的列index
要在DataFrame中寻找第一个不含空行的行索引和第一个不含空列的列索引,可以使用first_valid_index()方法。
首先,要找到第一个不含空行的行索引,可以使用first_valid_index()方法来查找每一行的第一个非空值,然后返回该行的索引。
row_index = df.apply(lambda row: row.first_valid_index(), axis=1).dropna().index[0]
在这里,apply()方法将first_valid_index()函数应用于每一行,并返回第一个非空值的索引。然后,使用dropna()方法删除包含空值的行,并使用index[0]返回第一个不含空行的行索引。
接下来,要找到第一个不含空列的列索引,可以使用first_valid_index()方法来查找每一列的第一个非空值,然后返回该列的索引。
column_index = df.apply(lambda column: column.first_valid_index()).dropna().index[0]
在这里,apply()方法将first_valid_index()函数应用于每一列,并返回每列的第一个非空值的索引。然后,使用dropna()方法删除包含空值的列,并使用index[0]返回第一个不含空列的列索引。
完整的代码示例如下:
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, None, 4, 5],
'B': [None, 6, 7, 8, 9],
'C': [10, 11, 12, None, 14]}
df = pd.DataFrame(data)
# 寻找第一个不含空行的行索引
row_index = df.apply(lambda row: row.first_valid_index(), axis=1).dropna().index[0]
print("第一个不含空行的行索引:", row_index)
# 寻找第一个不含空列的列索引
column_index = df.apply(lambda column: column.first_valid_index()).dropna().index[0]
print("第一个不含空列的列索引:", column_index)
输出结果为:
第一个不含空行的行索引: 1
第一个不含空列的列索引: A
``
原文地址: https://www.cveoy.top/t/topic/iqQC 著作权归作者所有。请勿转载和采集!