假设我有这样一个数据框:
A B C
1 NaN NaN
2 NaN NaN
我有一个如下的numpy数组 np_array = ['ab', 'bc'],我希望将这个数组作为dataframe的一部分,即:
A B C
1 'ab' 'bc'
2 NaN NaN
我应该如何以最高效的方式完成这件事呢?谢谢 =)
import pandas as pd
import numpy as np
dic = {'A': [1, 2], 'B': [None, None], 'C': [None, None]}
np_array = np.array(['ab', 'bc'])
df = pd.DataFrame(dic)
print(df)
#Method 1
df.iloc[0, 1:] = np_array
print(df)
#Medthod 2
df = pd.DataFrame(dic)
df.loc[0, ['B', 'C']] = np_array
print(df)
输出
A B C
0 1 None None
1 2 None None
A B C
0 1 ab bc
1 2 None None
Name: 0, dtype: object
A B C
0 1 ab bc
1 2 None None
可以用以下方式完成:
df.iloc[row] = np_array
其中row是您想要更改的从0开始索引的行
df.loc[df['A'].eq(1), ['B','C']] = np_array
- ansevdf.iloc[0, 1:] = np_array
... - Jon Clementsdf.fillna({c:v for c,v in zip(df.columns, np_array)}, limit=1)
- luigigi