我有一个名为 的 Pandas Dataframe Merged
,它有一个名为 的属性RegimentalNumber
。
我正在使用该Pandas.Dataframe.duplicated()
方法从此数据框中检索重复项,如下所示:
In [16]: Merged[Merged.RegimentalNumber.duplicated() == True]
Run Code Online (Sandbox Code Playgroud)
但是,结果似乎还包含RegimentalNumber
重复项的缺失值。
该方法是否duplicated()
采用标志或参数来排除缺失值作为重复项?我查看了此方法的API 文档,但找不到这样的标志。
当然,我可以简单地排除缺失值,如下所示:
In [17]: duplicates = Merged[Merged.RegimentalNumber.duplicated() == True]
In [18]: duplicates[duplicates.RegimentalNumber.notnull()]
Run Code Online (Sandbox Code Playgroud)
duplicated()
然而,在我看来,该方法还包含缺失值作为重复项,这似乎并不正确。有没有更简单的一步解决方案?
我有两个这样的数组:
Soldier_years = [1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870]
num_records_yob = [7, 5, 8, 9, 15, 17, 23, 19, 52, 55, 73, 73, 107, 137, 65, 182, 228, 257, 477, 853, 2303]
Run Code Online (Sandbox Code Playgroud)
我试图将这些变成Seaborn点图,如下所示:
%matplotlib inline
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
f, (ax) = plt.subplots(figsize=(12, 6), sharex=True)
sns.set_style("darkgrid")
ax = sns.pointplot(x=Soldier_years, y=num_records_yob)
Run Code Online (Sandbox Code Playgroud)
我得到一个像这样的点图:
这个情节几乎就是我想要的.如何获得每个点的数据标签以显示在各个点之上?
我试过了ax.patches
,但它是空的.
我有两个大熊猫dataframes:一个(df1
)有三列(StartDate
,EndDate
,和ID
)和第二(df2
)用日期.我想合并df1
并df2
基于df1.StartDate
和之间的df2.Date df2.EndDate
.
每个日期范围df1
都是唯一的,不会与数据框中的任何其他行重叠.
日期格式化YYYY-MM-DD
.
任何人都可以举例说明使用Angular 1.5组件的服务吗?
我正在尝试在Angular 1.5组件中注入服务,但它不起作用.
我有一个像这样的登录组件:
class Login {
constructor($scope, $reactive, $state, myService) {
console.log(myService.somevariable); //doesn't work
}
}
// create a module
export default angular.module(name, [
angularMeteor
]).component(name, {
templateUrl: 'imports/ui/components/${name}/${name}.html',
controllerAs: name,
controller: Login
});
Run Code Online (Sandbox Code Playgroud)
我的服务如下:
angular.module(name).service("myService", function () {
this.somevariable = 'somevalue';
});
Run Code Online (Sandbox Code Playgroud)
我似乎无法在组件中注入服务.我做错了什么?
解:
在sebenalern的帮助下,我得到了它的工作.
我需要一项服务来使用正则表达式验证电子邮件地址.我是这样做的:
import angular from 'angular';
import angularMeteor from 'angular-meteor';
class Validator {
validateEmail(email) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
}
const name = 'validator';
// create a module …
Run Code Online (Sandbox Code Playgroud) 我有DataFrame
如下:
In [23]: df = pandas.DataFrame({'Initial': ['C','A','M'], 'Sex': ['M', 'F', 'F'], 'Age': [49, 39, 19]})
df = df[['Initial', 'Sex', 'Age']]
df
Out[23]:
Initial Sex Age
0 C M 49
1 A F 39
2 M F 19
Run Code Online (Sandbox Code Playgroud)
我的目标是创建一个像这样的字典:
{'C': ('49', 'M'), 'A': ('39', 'F'), 'M': ('19', 'F')}
Run Code Online (Sandbox Code Playgroud)
目前,我这样做:
In [24]: members = df.set_index('FirstName', drop=True).to_dict('index')
members
Out[24]: {'C': {'Age': '49', 'Sex': 'M'}, 'A': {'Age': '39', 'Sex': 'F'}, 'M': {'Age': '19', 'Sex': 'F'}}
Run Code Online (Sandbox Code Playgroud)
然后我使用dict
comprehrension将键的值格式化为元组而不是dicts:
In [24]: members= {x: …
Run Code Online (Sandbox Code Playgroud) 有人可以解释以下内容吗?
a = [2,3,4]
b = [5,6,8,9]
print(len(a) > 0)
print(len(b) > 0)
print((len(a) > 0) & len(b) > 0))
Run Code Online (Sandbox Code Playgroud)
输出:
True
True
False
Run Code Online (Sandbox Code Playgroud)
最后一个print语句不应该返回True吗?如果我现在重写为:
print((len(a) > 0) & (len(b) > 0))
Run Code Online (Sandbox Code Playgroud)
(注意第二个AND条件周围的括号),我得到输出为True
.
这让我感到困惑.为什么在括号中包含第二个AND条件会改变结果?
python ×5
pandas ×4
angularjs ×1
dataframe ×1
dictionary ×1
ipython ×1
matplotlib ×1
python-2.7 ×1
scipy ×1
seaborn ×1