我在做
ax = df.plot(x=x_col, y=y_col, style=['o', 'rx'])
Run Code Online (Sandbox Code Playgroud)
但我不喜欢数据点是大圆圈。我有数千个数据点,所以它使情节丑陋。知道如何使点变小,即让它们成为实际的点,而不是圆圈吗?或者对这种散点图有什么替代建议?
假设我有这些数据:
>>> df = pd.DataFrame(data={"age": [11, 12, 11, 11, 13, 11, 12, 11],
"response": ["Yes", "No", "Yes", "Yes", "Yes", "No", "Yes", "Yes"]})
>>> df
age response
0 11 Yes
1 12 No
2 11 Yes
3 11 Yes
4 13 Yes
5 11 No
6 12 Yes
7 11 Yes
Run Code Online (Sandbox Code Playgroud)
我想制作一个条形图,显示按年龄汇总的是或否答案.有可能吗?我曾尝试hist和kind=bar,但也能按年龄排序,而不是绘图年龄和响应分开.
它看起来像这样:
^
4 | o
3 | o
2 | o
1 | ox ox o
0 .----------------------->
11 12 13
Run Code Online (Sandbox Code Playgroud)
o"是" 在哪里,x …
我有一个pandas DataFrame,它包含字符串和浮点数,需要拆分成平衡切片才能训练sklearn管道.
理想情况下,我会在DataFrame上使用StratifiedKFold来获取较小的数据块以进行交叉验证.但它抱怨我有无法解决的类型,如下所示:
import pandas as pd
from sklearn.cross_validation import StratifiedKFold
dataset = pd.DataFrame(
[
{'title': 'Dábale arroz a la zorra el abad', 'size':1.2, 'target': 1},
{'title': 'Ana lleva al oso la avellana', 'size':1.0, 'target': 1},
{'title': 'No te enrollé yornetón', 'size':1.4, 'target': 0},
{'title': 'Acá sólo tito lo saca', 'size':1.4, 'target': 0},
])
skfs = StratifiedKFold(dataset, n_folds=2)
>>> TypeError: unorderable types: str() > float()
Run Code Online (Sandbox Code Playgroud)
有一些方法可以获得折叠索引并对DataFrame进行切片,但我认为这并不能保证我的类会得到平衡.
拆分DataFrame的最佳方法是什么?
python machine-learning pandas scikit-learn cross-validation
我正在尝试将多个文件导入csv到一个文件中,DataFrame并且在尝试添加第三个DataFrame.
AssertionError: cannot create BlockManager._ref_locs because block [ObjectBlock: [CompletionDate, Categories, DateEntered_x, <lots more columns here>...], dtype=object)] does not have _ref_locs set
Run Code Online (Sandbox Code Playgroud)
代码是:
project = pandas.read_csv(read_csv('dbo_Project.csv')
project = pandas.read_csv(read_csv('dbo_ProjectEnergy.csv')
project = pandas.read_csv(read_csv('dbo_BuildingDescription.csv')
part_merged = pandas.merge(project, project_energy,
on='ProjectID',
how='outer')
part_merged = pandas.merge(part_merged, project_energy_data,
on='ProjectEnergyID',
how='outer')
part_merged = pandas.merge(part_merged, building_description,
on='ProjectEnergyID',
how='outer')
Run Code Online (Sandbox Code Playgroud)
我应该如何加入这些DataFrames以避免这个问题?
为回应 Stefan Jansen 的回答而编辑:
直到出现新错误的地方的新代码是:
project = pandas.read_csv(read_csv('dbo_Project.csv')
project = pandas.read_csv(read_csv('dbo_ProjectEnergy.csv')
part_merged = pandas.concat([project, project_energy],
axis=1,
join='outer')
part_merged.set_index(['ProjectEnergyID'])
part_merged = pandas.concat([self.part_merged,
project_energy_data], …Run Code Online (Sandbox Code Playgroud) 假设我有一个包含数万个条目的列表,我想将它们写入文件。如果列表中的项目符合某些条件,我想关闭当前文件并开始一个新文件。
我有几个问题,我认为它们源于这样一个事实,即我想根据该文件中的第一个条目命名文件。此外,启动新文件的信号基于条目是否具有与前一个相同的字段。因此,例如,假设我有以下列表:
l = [('name1', 10), ('name1', 30), ('name2', 5), ('name2', 7), ('name2', 3), ('name3', 10)]
Run Code Online (Sandbox Code Playgroud)
我想最终得到 3 个文件,name1.txt应该包含10and 30,name2.txt应该有5, 7and 3,并且name3.txt应该有10. 该列表已经按第一个元素排序,所以我需要做的就是检查第一个元素是否与前一个元素相同,如果不是,则开始一个新文件。
起初我试过:
name = None
for entry in l:
if entry[0] != name:
out_file.close()
name = entry[0]
out_file = open("{}.txt".format(name))
out_file.write("{}\n".format(entry[1]))
else:
out_file.write("{}\n".format(entry[1]))
out_file.close()
Run Code Online (Sandbox Code Playgroud)
据我所知,这有几个问题。首先,第一次通过循环,没有out_file关闭。其次,我不能关闭最后out_file创建的,因为它是在循环内定义的。以下解决了第一个问题,但看起来很笨重:
for entry in l:
if name:
if entry[0] != name:
out_file.close()
name = entry[0] …Run Code Online (Sandbox Code Playgroud) I have a DataFrame that looks like this:
In [10]: import pandas as pd
In [11]: df = pd.read_table("http://dpaste.com/2M75260.txt",sep=",")
In [12]: df.head(n=3L)
Out[12]:
ID Genes Foldchange
0 1415670_at Copg 0.989
1 1415673_at Psph 1.004
2 1415674_a_at Trappc4 1.000
Run Code Online (Sandbox Code Playgroud)
In actuality there are around 40K rows. What I want to do is to change the all the values in Foldchange with same value 2.
So that it will looks like:
ID Genes Foldchange
1415670_at Copg 2.000
1415673_at Psph 2.000
1415674_a_at …Run Code Online (Sandbox Code Playgroud) pandas ×6
python ×6
matplotlib ×2
biopython ×1
merge ×1
plot ×1
scatter-plot ×1
scikit-learn ×1
seaborn ×1