我正在运行Pandas 0.16.2和Matplotlib 1.4.3.我有这个问题着色由以下代码生成的boxplot的中位数:
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
fig, ax = plt.subplots()
medianprops = dict(linestyle='-', linewidth=2, color='blue')
bp = df.boxplot(medianprops=medianprops)
plt.show()
Run Code Online (Sandbox Code Playgroud)
返回:
看来该color设置未被读取.仅更改线条样式和线宽的设置,图表会正确反应.
medianprops = dict(linestyle='-.', linewidth=5, color='blue')
Run Code Online (Sandbox Code Playgroud)
任何人都可以重现它吗?
使用py2neo从Neo4j数据库上的密码查询获取pandas数据帧的结果非常简单,如下所示:
>>> from pandas import DataFrame
>>> DataFrame(graph.data("MATCH (a:Person) RETURN a.name, a.born LIMIT 4"))
a.born a.name
0 1964 Keanu Reeves
1 1967 Carrie-Anne Moss
2 1961 Laurence Fishburne
3 1960 Hugo Weaving
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试使用py2neo创建(或更好的MERGE)从pandas数据帧到Neo4j数据库的一组节点和关系.想象一下,我有一个像以下数据帧:
LABEL1 LABEL2
p1 n1
p2 n1
p3 n2
p4 n2
Run Code Online (Sandbox Code Playgroud)
其中标签是列标题,属性是值.我想为我的数据帧的每一行重现以下cypher查询(对于第一行作为示例):
query="""
MATCH (a:Label1 {property:p1))
MERGE (a)-[r:R_TYPE]->(b:Label2 {property:n1))
"""
Run Code Online (Sandbox Code Playgroud)
我知道我可以告诉py2neo graph.run(query),或者甚至LOAD CSV以相同的方式运行cypher 脚本,但我想知道我是否可以遍历数据帧并逐行应用上面的查询WITHIN py2neo.
我想按部分子字符串对 DataFrame 进行分组。这是一个示例 .csv 文件:
GridCode,Key
1000,Colour
1000,Colours
1001,Behaviours
1001,Behaviour
1002,Favourite
1003,COLORS
1004,Honours
Run Code Online (Sandbox Code Playgroud)
到目前为止,我所做的是将文件导入为df = pd.read_csv(sample.csv),然后将所有字符串都转换为小写df['Key'] = df['Key'].str.lower()。我尝试的第一件事是通过 GridCode 和 Key 进行分组:
g = df.groupby([df['GridCode'],df['Key']]).size()
Run Code Online (Sandbox Code Playgroud)
然后拆开并填充:
d = g.unstack().fillna(0)
Run Code Online (Sandbox Code Playgroud)
生成的数据帧是:
Key behaviour behaviours colors colour colours favourite honours
GridCode
1000 0 0 0 1 1 0 0
1001 1 1 0 0 0 0 0
1002 0 0 0 0 0 1 0
1003 0 0 1 0 0 0 0
1004 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 这个问题可能很基本,但我完全被困在这里,所以我希望得到任何帮助:有没有办法通过选择特定的行号从 excel 文件中提取数据进行分析?例如,如果我有一个 30 行的 excel 文件,我想将第 5+10+21+27 行的值相加?
我只设法学习如何使用 iloc 函数选择相邻范围,如下所示:
import pandas as pd
df = pd.read_excel("example.xlsl")
df.iloc[1:5]
Run Code Online (Sandbox Code Playgroud)
如果这在 Pandas 中是不可能的,我会很感激如何通过 openpyxl 将电子表格中的选定行复制到新电子表格中的建议,然后我可以将新工作表加载到 Pandas 中。
我正在尝试在 seaborn (python) 中创建一个热图,其中某些方块用不同的颜色着色,(这些方块包含无关紧要的数据 - 在我的情况下,它将是值小于 1.3 的方块,即 p 值的 -log >0.05)。我找不到这样的功能。掩盖这些方块也不起作用。这是我的代码:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
import seaborn as sns; sns.set()
data = [[1.3531363408, 3.339479161, 0.0760855365], [5.1167382617, 3.2890920405, 2.4764601828], [0.0025058257, 2.3165128345, 1.6532714962], [0.2600549869, 5.8427407219, 6.6627226609], [3.0828581725, 16.3825494439, 12.6722666929], [2.3386307357, 13.7275065772, 12.5760972276], [1.224683813, 2.2213656372, 0.6300876451], [0.4163788387, 1.8128374089, 0.0013106046], [0.0277592882, 2.9286203949, 0.810978992], [0.0086613622, 0.6181261247, 1.8287878837], [1.0174519889, 0.2621290291, 0.1922637697], [3.4687429571, 4.0061981716, 0.5507951444], [7.4201304939, 3.881457516, 0.1294141768], [2.5227546319, 6.0526491816, 0.3814362442], [8.147538027, 14.0975727815, 7.9755706939]]
cmap2 = mpl.colors.ListedColormap(sns.cubehelix_palette(n_colors=20, start=0, …Run Code Online (Sandbox Code Playgroud) 我有以下numpy数组:
a = np.array([[1.1,0.8,0.5,0,0],[1,0.85,0.5,0,0],[1,0.8,0.5,1,0]])
Run Code Online (Sandbox Code Playgroud)
与shape = (3,5).
我想重新整形并将其调整为一个新的数组shape = (3,8),用每个行填充新值0.到目前为止,我尝试了以下方法:
b = np.resize(a,(3,8))
Run Code Online (Sandbox Code Playgroud)
但它返回:
[[ 1.1 0.8 0.5 0. 0. 1. 0.85 0.5 ]
[ 0. 0. 1. 0.8 0.5 1. 0. 1.1 ]
[ 0.8 0.5 0. 0. 1. 0.85 0.5 0. ]]
Run Code Online (Sandbox Code Playgroud)
而不是预期的(对我来说):
[[ 1.1 0.8 0.5 0. 0. 0. 0. 0. ]
[ 1. 0.85 0.5 0. 0. 0. 0. 0. ]
[ 1. 0.8 0.5 1. 0. 0. 0. 0. …Run Code Online (Sandbox Code Playgroud) 假设我有一个包含 100 个元素的 ndarray,我想选择前 4 个元素,跳过 6 并像这样继续(换句话说,每 10 个元素选择前 4 个元素)。
我尝试使用 step 进行 python 切片,但我认为它在我的情况下不起作用。我怎样才能做到这一点?我正在使用 Pandas 和 numpy,他们有帮助吗?我四处寻找,但没有发现像这种切片那样的东西。谢谢!
如何过滤包含另一列的行?例如,如果我们有两列A,B的DT,是否可以使用B.contains(A)过滤行?不仅B是否包含来自DT的所有A中的一些A值,而且还只是一行。
AB 大声笑 'ram''rambo' 'ki''pio' 结果: AB 大声笑 'ram''rambo'
我想在Excel中打印出一个数据帧.我使用ExcelWriter如下:
writer = pd.ExcelWriter('test.xlsx')
df = DataFrame(C,ind) # C is the matrix and ind is the list of corresponding indices
df.to_excel(writer, startcol = 0, startrow = 5)
writer.save()
Run Code Online (Sandbox Code Playgroud)
这产生了我需要的东西,但另外我想在表格(startcol=0,startrow=0)上添加一些带有一些文本(解释)的标题.
如何使用ExcelWriter添加字符串标题?
我是 Neo4j 数据库的新手。我有一个很大的 csv 文件,无法放入我机器的内存中。在使用 加载 db 中的所有记录之前USING PERIODIC COMMIT,我想在小数据样本上测试我的密码查询。如何加载仅加载 1000 行数据并测试我的查询。
数据具有简化形式的列[Employee, CompanyName]。我想创建关系为(:Employee)-[:Employed]->(:Company). Employee 和 CompanyName 节点已经加载到数据库中。