Python:复制一个行值并添加到单元格为空的另一行



试图弄清楚如何在熊猫身上做到这一点,但目前还无法弄清楚。

我想从a列复制一个值,其中B列中的一个单元格为空,并将其添加到下面的行中,直到它到达B列的下一个空白单元格,然后再开始。

我的Python不是最强的,所以任何指针都会受到赞赏,因为我目前还不知道从哪里开始!我已经包含了以下作为一个例子,说明它目前的情况以及我希望它如何。我目前只是在操作和清理Pandas中的数据。

A B
电源电压 BLANK
额定值 10
限制 20
大小 空白
高度 10
宽度 20

下面可以找到一个工作示例:

import pandas as pd
import numpy as np
# Recreate example DataFrame
df = pd.DataFrame({
'A': ['Supply Voltage', 'Rated Value', 'Limit', 'Size', 'Height', 'Width'],
'B': [np.nan, 10, 20, np.nan, 10, 20]
})

# Add helper column (UPDATE)
l = []
c = 0
for i in df['B']:
if pd.isnull(i):
c = c+1
l.append(c)
df['C'] = l
# Extract names associated with blank cells
blank_names = df.loc[df['B'].isna(), ['A', 'C']]
blank_names.columns = ['BLANK_NAME', 'C']
# Add names associated with blank cells to original DataFrame
df = df.merge(blank_names, on='C', how='left')
df['A'] = np.where(df['B'].notna(), df['BLANK_NAME'] + ' - ' + df['A'], df['A'])
# Display final output
df = df.drop(columns=['C', 'BLANK_NAME'])
df

相关内容

最新更新