【发布时间】:2020-02-11 14:05:56
【问题描述】:
假设我从一个全为零的数据帧开始。用 1 填充某些行和列有什么比下面的方法更好的方法?
import numpy as np
import pandas as pd
X = np.zeros((14,11))
df = pd.DataFrame(X, columns=['A','Mon','Tue','Wed','Thu','Fri','Sat','Sun','Yes','No','D'])
df.loc[0,'Mon'] = 1
df.loc[0,'Yes'] = 1
df.loc[1,'Mon'] = 1
df.loc[1,'No'] = 1
df.loc[2,'Tue'] = 1
df.loc[2,'Yes'] = 1
df.loc[3,'Tue'] = 1
df.loc[3,'No'] = 1
df.loc[4,'Wed'] = 1
df.loc[4,'Yes'] = 1
df.loc[5,'Wed'] = 1
df.loc[5,'No'] = 1
df.loc[6,'Thu'] = 1
df.loc[6,'Yes'] = 1
df.loc[7,'Thu'] = 1
df.loc[7,'No'] = 1
df.loc[8,'Fri'] = 1
df.loc[8,'Yes'] = 1
df.loc[9,'Fri'] = 1
df.loc[9,'No'] = 1
df.loc[10,'Sat'] = 1
df.loc[10,'Yes'] = 1
df.loc[11,'Sat'] = 1
df.loc[11,'No'] = 1
df.loc[12,'Sun'] = 1
df.loc[12,'Yes'] = 1
df.loc[13,'Sun'] = 1
df.loc[13,'No'] = 1
【问题讨论】:
-
您能解释一下您想将多少个元素更改为 1 吗?它们是 1 的随机值吗?甚至更容易,您可以将整列设为 1 吗?如果你解释我可以帮助的模式:)
-
请澄清您的问题。
-
抱歉,我通过将 B 列替换为天数并将 C 列替换为 Yes 和 No,使数据框更加清晰。这些列是指标/虚拟变量。因此,对于每一天,我需要一行表示是,另一行表示否。有没有更好的方法来做这件事,而不是一大堆代码?