我有一个数据框,其中包含多种类型事件的日期.
df <- data.frame(date=as.Date(c("06/07/2000","15/09/2000","15/10/2000"
,"03/01/2001","17/03/2001","23/04/2001",
"26/05/2001","01/06/2001",
"30/06/2001","02/07/2001","15/07/2001"
,"21/12/2001"), "%d/%m/%Y"),
event_type=c(0,4,1,2,4,1,0,2,3,3,4,3))
date event_type
---------------- ----------
1 2000-07-06 0
2 2000-09-15 4
3 2000-10-15 1
4 2001-01-03 2
5 2001-03-17 4
6 2001-04-23 1
7 2001-05-26 0
8 2001-06-01 2
9 2001-06-30 3
10 2001-07-02 3
11 2001-07-15 4
12 2001-12-21 3
Run Code Online (Sandbox Code Playgroud)
我试图计算每个事件类型之间的天数,所以输出如下所示:
date event_type days_since_last_event
---------------- ---------- ---------------------
1 2000-07-06 0 NA
2 2000-09-15 4 NA
3 2000-10-15 1 NA
4 2001-01-03 2 NA
5 2001-03-17 4 183
6 2001-04-23 1 …Run Code Online (Sandbox Code Playgroud) 并使其如下所示:
通过反转Y轴并将“水平轴交叉”设置为“最大”。
我想在Seaborn中做同样的事情。我可以使用翻转y_axis,.invert_yaxis()但无法像在Excel中那样将条形图保持在图表底部。
import seaborn as sns
barplot = sns.barplot(x='abc'
,y='def'
,data=df
,ci=None
)
barplot.invert_yaxis()
barplot.figure
Run Code Online (Sandbox Code Playgroud)
如何将条形图从顶部开始移动到底部?
我正在使用Python 3.6和seaborn 0.7.1
我的问题似乎与此类似,但这个问题尚不清楚,没有答案: Pyplot-反转Y标签而不反转条形图
我在下面创建了一个Networkx graph调用G:
import networkx as nx
G = nx.Graph()
G.add_node(1,job= 'teacher', boss = 'dee')
G.add_node(2,job= 'teacher', boss = 'foo')
G.add_node(3,job= 'admin', boss = 'dee')
G.add_node(4,job= 'admin', boss = 'lopez')
Run Code Online (Sandbox Code Playgroud)
我想存储的node号码沿attributes,job并boss在一个单独的列pandas dataframe。
我试图用下面的代码来做到这一点,但它会产生一个dataframe包含2列的列,其中1个包含node数字,另一个包含所有attributes:
graph = G.nodes(data = True)
import pandas as pd
df = pd.DataFrame(graph)
df
Out[19]:
0 1
0 1 {u'job': u'teacher', u'boss': u'dee'}
1 2 {u'job': u'teacher', u'boss': u'foo'} …Run Code Online (Sandbox Code Playgroud) 我在 Anaconda 中使用 Python 2.7.11。
我了解如何设置行子集的值,Pandas DataFrame例如修改熊猫数据帧中的行子集,但我需要随机设置这些值。
假设我有df下面的数据框。如何随机设置 的值,group == 2使它们不都等于 1.0?
import pandas as pd
import numpy as np
df = pd.DataFrame([1,1,1,2,2,2], columns = ['group'])
df['value'] = np.nan
df.loc[df['group'] == 2, 'value'] = np.random.randint(0,5)
print df
group value
0 1 NaN
1 1 NaN
2 1 NaN
3 2 1.0
4 2 1.0
5 2 1.0
Run Code Online (Sandbox Code Playgroud)
df 应该如下所示:
print df
group value
0 1 NaN
1 1 NaN
2 1 NaN …Run Code Online (Sandbox Code Playgroud) 我有DataFrame df一列,category用下面的代码创建:
import pandas as pd
import random as rand
from string import ascii_uppercase
rand.seed(1010)
df = pd.DataFrame()
values = list()
for i in range(0,1000):
category = (''.join(rand.choice(ascii_uppercase) for i in range(1)))
values.append(category)
df['category'] = values
Run Code Online (Sandbox Code Playgroud)
每个值的频率计数是:
df['category'].value_counts()
Out[95]:
P 54
B 50
T 48
V 46
I 46
R 45
F 43
K 43
U 41
C 40
W 39
E 39
J 39
X 37
M 37
Q 35
Y 35
Z 34
O …Run Code Online (Sandbox Code Playgroud) 我在 Windows 7、Python 2.7 和 Microsoft Access 2013 上运行。
当我尝试运行时:
import pyodbc
conn_string = '''
DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};
UID=admin;
UserCommitSync=Yes;
Threads=3;
SafeTransactions=0;
PageTimeout=5;
MaxScanRows=8;
MaxBufferSize=2048;
FIL=MS Access;
DriverId=25;
DefaultDir=C:\Users\jseinfeld;
DBQ=C:\Users\jseinfeld\Desktop\Databasetest1.accdb;
'''
connection = pyodbc.connect(conn_string)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Error: ('HY000', "[HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x29dc Thread 0x113c DBC 0x8a3ed48
Jet'. (63) (SQLDriverConnect); [HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for …Run Code Online (Sandbox Code Playgroud) 我的问题类似于Pandas: remove reverse duplicates from dataframe但我有一个额外的要求。我需要维护行值对。
例如:
我有datawhere columnA对应 columnC和 columnB对应 column D。
import pandas as pd
# Initial data frame
data = pd.DataFrame({'A': [0, 10, 11, 21, 22, 35, 5, 50],
'B': [50, 22, 35, 5, 10, 11, 21, 0],
'C': ["a", "b", "r", "x", "c", "w", "z", "y"],
'D': ["y", "c", "w", "z", "b", "r", "x", "a"]})
data
# A B C D
#0 0 50 a …Run Code Online (Sandbox Code Playgroud) 这是一个简单的问题,但我已经找到了"切片" DataFrames的Pandas折腾,来自哪里R.
我在DataFrame df下面有7列:
df
Out[77]:
fld1 fld2 fld3 fld4 fld5 fld6 fld7
0 8 8 -1 2 1 7 4
1 6 6 1 7 5 -1 3
2 2 5 4 2 2 8 1
3 -1 -1 7 2 3 2 0
4 6 6 4 2 0 5 2
5 -1 5 7 1 5 8 2
6 7 1 -1 0 1 8 1
7 6 2 4 …Run Code Online (Sandbox Code Playgroud) 我在Windows 7中使用Python 2.7.
我有一个字典,并希望从另一个字典中删除与(键,值)对相对应的值.
例如,我有一本字典t_dict.我想删除字典中的相应(键,值)对,values_to_remove以便我最终得到字典final_dict
t_dict = {
'a': ['zoo', 'foo', 'bar'],
'c': ['zoo', 'foo', 'yum'],
'b': ['tee', 'dol', 'bar']
}
values_to_remove = {
'a': ['zoo'],
'b': ['dol', 'bar']
}
# remove values here
print final_dict
{
'a': ['foo', 'bar'],
'c': ['zoo', 'foo', 'yum'],
'b': ['tee']
}
Run Code Online (Sandbox Code Playgroud)
我已经查看了关于SO和python词典文档的类似页面,但找不到任何解决这个特定问题的东西:
https://docs.python.org/2/library/stdtypes.html#dict
编辑
t_dict每个键中不能有重复的值.例如,永远不会有
t_dict['a'] = ['zoo','zoo','foo','bar']
python ×8
pandas ×5
python-2.7 ×4
dataframe ×2
dictionary ×1
matplotlib ×1
ms-access ×1
networkx ×1
odbc ×1
pyodbc ×1
python-3.x ×1
r ×1
seaborn ×1
time ×1