热线电话:13121318867

登录
2019-01-21 阅读量: 877
Pandas:使用loc然后iloc在数据框上设置一个值

我有以下数据框:

df = pd.DataFrame(np.zeros((3, 5)), columns=["feature_a", "feature_b", "feature_c", "feature_d", "e"])

feature_a feature_b feature_c feature_d e

0 0.0 0.0 0.0 0.0 0.0

1 0.0 0.0 0.0 0.0 0.0

2 0.0 0.0 0.0 0.0 0.0

但请注意,我正在处理的数据框架要大得多。然后,我想要做的是更新中间两个要素列的值,以便结果如下:

feature_a feature_b feature_c feature_d e

0 0.0 0.0 0.0 0.0 0.0

1 0.0 8.0 8.0 0.0 0.0

2 0.0 0.0 0.0 0.0 0.0

我试过的,我认为它会起作用:

feature_columns = df.filter(like="feature").columns.values

df.loc[:,feature_columns].iloc[1,[1, 2]] = 88

###########################

import pandas as pd

df = pd.DataFrame(np.zeros((3, 5)), columns=["feature_a", "feature_b", "feature_c", "feature_d", "e"])

feature_columns = df.filter(like="feature").columns.values

sli = df[feature_columns].iloc[1,[1,2]]

df.loc[sli.name, sli.index] = 88

print(df)

# output

# feature_a feature_b feature_c feature_d e

# 0 0.0 0.0 0.0 0.0 0.0

# 1 0.0 88.0 88.0 0.0 0.0

# 2 0.0 0.0 0.0 0.0 0.0

0.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子