相关疑难解决方法(0)

不存在所有类别时的虚拟变量

我有一组数据框,其中一列包含一个分类变量.我想将它转换为几个虚拟变量,在这种情况下我通常会使用get_dummies.

会发生什么是get_dummies查看每个数据帧中可用的数据以找出有多少类别,从而创建适当数量的虚拟变量.但是,在我现在正在工作的问题中,我实际上事先知道可能的类别是什么.但是,当单独查看每个数据框时,并非所有类别都必须出现.

我的问题是:有没有办法传递get_dummies(或等效函数)类别的名称,这样,对于没有出现在给定数据框中的类别,它只是创建一个0的列?

会有这样的东西:

categories = ['a', 'b', 'c']

   cat
1   a
2   b
3   a
Run Code Online (Sandbox Code Playgroud)

成为这个:

  cat_a  cat_b  cat_c
1   1      0      0
2   0      1      0
3   1      0      0
Run Code Online (Sandbox Code Playgroud)

python machine-learning pandas dummy-variable

38
推荐指数
3
解决办法
1万
查看次数

熊猫:如果不存在则添加列

我是新手使用pandas并且正在编写一个脚本,我在数据框中读取,然后对某些列进行一些计算.

有时我会有一个名为"Met"的专栏:

df = pd.read_csv(File, sep='\t', compression='gzip', header=0, names=["Chrom", "Site", "coverage", "Met"]) 
Run Code Online (Sandbox Code Playgroud)

Othertimes我会:

df = pd.read_csv(File, sep='\t', compression='gzip', header=0, names=["Chrom", "Site", "coverage", "freqC"]) 
Run Code Online (Sandbox Code Playgroud)

我需要使用"Met"列进行一些计算,所以如果它不存在,我将需要使用以下方法计算它:

df['Met'] = df['freqC'] * df['coverage'] 
Run Code Online (Sandbox Code Playgroud)

有没有办法检查数据框中是否存在"Met"列,如果没有添加它?

python pandas

16
推荐指数
4
解决办法
2万
查看次数

Pandas - 如果不存在则创建新列

我有一个以下格式的数据框

col_1, col_2, col_3
1, 2, 3
2, 3, 4
2, 3, 5
Run Code Online (Sandbox Code Playgroud)

我正在尝试检查数据框是否有一组列,如果没有,我想将它们创建为数据框中的新列

cols_to_check = ['col_1', 'col_2', 'col_6', 'col_9']
Run Code Online (Sandbox Code Playgroud)

为此,我想继续创建col_6,col_9因为它们不存在于数据框中。

最终输出:

col_1, col_2, col_3, col_6, col_9
1, 2, 3, 0, 0
2, 3, 4, 0, 0
2, 3, 5, 0, 0
Run Code Online (Sandbox Code Playgroud)

dataframe pandas

1
推荐指数
1
解决办法
2534
查看次数