如何在两个数据框中找出同名列之间的差异?我的意思是我有一个名为X的列的数据框A和一个名为X的列的数据框B,如果我这样做pd.merge(A, B, on=['X']),我将获得A和B的常见X值,但我怎样才能获得"非常见"的值?
我正在尝试可视化我的DecisionTree,但得到错误代码是:
X = [i[1:] for i in dataset]#attribute
y = [i[0] for i in dataset]
clf = tree.DecisionTreeClassifier()
dot_data = StringIO()
tree.export_graphviz(clf.fit(train_X, train_y), out_file=dot_data)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf("tree.pdf")
Run Code Online (Sandbox Code Playgroud)
错误是
Traceback (most recent call last):
if data.startswith(codecs.BOM_UTF8):
TypeError: startswith first arg must be str or a tuple of str, not bytes
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释我的问题是什么?非常感谢!
我在熊猫数据框中有一列:
df.['A']:
1
1
1
2
2
3
1
2
3
1
2
3
Run Code Online (Sandbox Code Playgroud)
我需要绘制一个直方图,它将显示如果 1、2 和 3 我有多少。为此,我首先计算所有 1、2 和 3 的数量:
print df.groupby(df.index)['A'].nunique()
Run Code Online (Sandbox Code Playgroud)
但不是得到
1 5
2 4
3 3
Run Code Online (Sandbox Code Playgroud)
我明白了
1
1
1
Run Code Online (Sandbox Code Playgroud)
我的错误是什么?并且可能有更好的方法来绘制它而无需先前提取计数数据?
I have two dataframes:
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B7', 'B4', 'B0', 'B3'] })
df2 = pd.DataFrame({'A': ['A4', 'A3', 'A7', 'A8'],'B': ['B0', 'B1', 'B2', 'B3']})
Run Code Online (Sandbox Code Playgroud)
我需要从列中获取所有公共值B,所以这里是 B0和B3。
使用df1.B.isin(df2.B)给了我False False True True,但不是值列表。
我有一个字典列表:
L = [{0:1,1:7,2:3,4:8},{0:3,2:6},{1:2,4:6}....{0:2,3:2}].
Run Code Online (Sandbox Code Playgroud)
如您所见,字典的长度不同。我需要的是将缺失的键:值添加到每个字典中,使它们具有相同的长度:
L1 = [{0:1,1:7,2:3,4:8},{0:3,1:0,2:6,3:0,4:0},{0:0, 1:2,3:0,4:6}....{0:2,1:0,2:0,3:2,4:0}],
Run Code Online (Sandbox Code Playgroud)
表示为缺失值添加零。最大长度没有预先给出,所以只有遍历列表才能得到它。
我试图用 defaultdicts 做一些事情,L1 = defaultdict(L)但似乎我不明白它是如何工作的。