这是一个按列排序并仅保留第一行,直到下一个列1的值的解决方法的代码示例:
import pandas as pd
# 创建一个示例数据框
data = {'col1': [1, 0, 0, 1, 0],
'col2': [4, 5, 6, 7, 8],
'col3': [9, 10, 11, 12, 13]}
df = pd.DataFrame(data)
# 按列排序
df.sort_values(by='col1', inplace=True)
# 创建一个空的结果数据框
result = pd.DataFrame()
# 遍历每一列
for col in df.columns:
# 找到列中第一个值为1的位置
first_one_index = df[col].idxmax()
# 只保留第一行直到第一个值为1的位置
result[col] = df.loc[:first_one_index, col]
print(result)
这个代码示例假设你已经安装了pandas库,并创建了一个数据框df。首先,我们使用sort_values()
函数按列1对数据框进行排序。然后,我们创建一个空的结果数据框result。接下来,我们遍历df的每一列,并找到每一列中第一个值为1的位置。最后,我们将第一行直到第一个值为1的位置的数据复制到结果数据框result中。最后,打印出结果数据框result。
上一篇:按列排序并获取行编号