我有一个表,其中列报告了每一行的标记。如何为每个标记创建一个列,并为每个包含标记的列添加一个布尔值?
这是我在文件input.csv中的输入表
COL1 COL2 COL3 TAG
12 13 21 a
15 23 31 b
32 33 31 a
15 53 31 a
18 26 31 c
17 63 31 d
12 25 31 a
1 93 31 a
13 25 31 a
这就是我的目标
COL1 COL2 COL3 a b c d ...
12 1
我有以下熊猫资料:
import pandas as pd
df = pd.read_csv("filename.csv")
df
A B C D E
0 a 0.469112 -0.282863 -1.509059 cat
1 c -1.135632 1.212112 -0.173215 dog
2 e 0.119209 -1.044236 -0.861849 dog
3 f -2.104569 -0.494929 1.071804 bird
我有一个.tsv数据文件。我想在某一列中打印字符串的计数。列如下所示:
column1
A aaa
A, C c
C
D
E ee,F
A aaa, B, C cc
F
E ee
我想要不同的A,B,C,A aaa等等,但是在列中,有时在",“之后有空格。所以我的代码计算"B“和”B“的方式不同。这是我目前使用的代码:
import pandas as pd
import os
# Import data from file into Pandas DataFrame
data= pd.read_csv("data.tsv", encoding='ut
已经有很多关于将单个列拆分成多个列的帖子,但我找不到对拆分的想法进行轻微修改的答案。
当您使用str.split时,它独立于顺序拆分字符串。您可以将其修改为稍微复杂一些,例如按字母顺序排序
e.x。数据帧(df)
row
0 a, e, c, b
1 b, d, a
2 a, b, c, d, e
3 d, f
foo = df['row'].str.split(',')
将根据逗号拆分并返回:
0 1 2 3
0 a e c b
....
然而,这并不能根据结果的唯一值
我想要为训练和测试集创建分类字段的虚拟变量,然后只对训练和测试集中共有的特征进行分类器的训练。我正在运行下面的代码,用于在两个数据集中创建虚拟变量,但获取TypeError。
我在下面输入了木星笔记本的一个单元
def get_features(train, test):
trainval = list(train.columns.values) # list train features
testval = list(test.columns.values) # list test features
features = list(set(trainval) & set(testva
我有一个Pandas有两个分类变量,ID变量和一个目标变量(用于分类)。我成功地用OneHotEncoder转换了分类值。这导致了一个稀疏矩阵。
ohe = OneHotEncoder()
# First I remapped the string values in the categorical variables to integers as OneHotEncoder needs integers as input
... remapping code ...
ohe.fit(df[['col_a', 'col_b']])
ohe.transform(
我有一只形状(1000000,3)的熊猫DataFrame df,如下所示:
id cat team
1 'cat1' A
1 'cat2' A
2 'cat3' B
3 'cat1' A
4 'cat3' B
4 'cat1' B
然后,我对cat列进行虚拟,以便为机器学习分类做好准备。
df2 = pandas.get_dummies(df,columns=['
我有这个数据帧: column1 column2 column3 column4
0 A A D D
1 B B D D
2 C C B D
3 A D D A 我想将columns1 - columns4中的类别作为新列添加到数据框架中,并使用1和0填充它,如下所示: column1 column2 column3 c
是否有一个熊猫函数来转换这些数据,这样它就可以将列显示为a,b,c,d,e或任何数据字段中的任何内容,并且行可以计算出其中有多少个字母。
import pandas as pd
trans = pd.read_table('output.txt', header=None, index_col=0)
print trans
>>>
1 2 3 4
0
11 a b c NaN
666 a d e NaN
10101 b c d Na