Python 用1s值填充数据帧(全为零)最简单的方法是什么

Python 用1s值填充数据帧(全为零)最简单的方法是什么,python,arrays,dataframe,Python,Arrays,Dataframe,假设我从一个全为零的数据帧开始。有什么方法比下面的方法更好,可以用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填充某些行和列

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
输出数据帧:

尝试以下变体:df[['B1','B2']=df[['B1','B2']]]。替换0,1

您能解释一下要将多少个元素更改为1吗?它们是1的随机值吗?或者更简单,你能把整个列变成1吗?如果您解释了模式,我可以提供帮助:请澄清您的问题。抱歉,我已将B列替换为天,将C列替换为是和否,从而使数据框架更清晰。这些列是指示符/虚拟变量。因此,对于每一天,我需要一行表示是,另一行表示否。有没有更好的方法来完成这项工作,而不是大量的代码?谢谢您的输入!。我想我已经把它缩小到df.loc[0,['Mon','Yes']=1(第一行),df.loc[1,['Mon','No']=1(第二行)等等。。