我想合并两个数据框,以便将 的行df2转换为df1.
df1 =
ID B
1 3
2 4
3 5
df2 =
ID Value
1 ABC
1 ACD
2 WWW
Run Code Online (Sandbox Code Playgroud)
结果应该是:
result =
ID B A_1 A_2
1 3 ABC ACD
2 4 WWW NaN
3 5 NaN NaN
Run Code Online (Sandbox Code Playgroud)
问题是合并后我错过了df1真实数据集中的一些行,而我想保留所有行,df1即使df2.
df2['col'] = 'A_' + df2.groupby(['ID'])['Value'].cumcount().astype(str)
df2 = df2.pivot(index='ID', columns='col', values='Value').reset_index()
result = pd.merge(df1, df2)
Run Code Online (Sandbox Code Playgroud)
方面:
df1 = 1404659 rows
df2 = 1015639 rows
result = 1216773 rows (!!!) …Run Code Online (Sandbox Code Playgroud) 我想将我的数据帧转换为json字符串.如果我只是这样做df.to_json(orient='records'),那么它转换得很好.但是,我想在json字符串中进行几次转换.
这是我的数据帧df:
df =
GROUP HOUR AVG_MINUTES AVG_GRADE
AAA 7 67 5.5
AAA 8 58 6.5
AAA 9 55 4.5
BBB 7 15 5.1
BBB 8 18 5.4
CCC 9 34 5.5
Run Code Online (Sandbox Code Playgroud)
json字符串应如下所示:
[
{
"GROUP":"AAA",
"AVG_MINUTES":[[7,67],[8,58],[9,55]],
"AVG_GRADE":[[7,5.5],[8,6.5],[9,4.5]]
},
{
"GROUP":"BBB",
"AVG_MINUTES":[[7,15],[8,18],[9,34]],
"AVG_GRADE":[[7,5.1],[8,5.4],[9,5.5]]
}
]
Run Code Online (Sandbox Code Playgroud)
我希望HOUR在AVG_MINUTES和中得到每对内的值AVG_GRADE.有可能吗?或者我应该手动完成吗?(这将是一个坏消息,因为数据帧非常大)
在 D3.js 中,如何创建一个 2 行的水平图例?
这是创建图例的当前 JavaScript 代码:
var legendGroup = svg.append("g")
.attr("transform", "translate("+(width-50)+",30)");
var legend = legendGroup.selectAll(".legend")
.data(nations.map(d=>d.name))
.enter()
.append("g")
.attr("transform", (d,i)=>"translate(0," + 20*i + ")")
var legendRects = legend.append("rect")
.attr("width", 10)
.attr("height", 10)
.attr("fill", d=> colorScale(d));
var legendText = legend.append("text")
.attr("x", 14)
.attr("y", 8)
.text(d=>d);
Run Code Online (Sandbox Code Playgroud) 我有pandas数据帧如下:
df =
COL_1 COL_2 VAL_1
ABC AAA ABC
CDE CDE RTY
ABC ABC RTY
ABC RTY DEF
Run Code Online (Sandbox Code Playgroud)
我想caculate含有从开始列的任意唯一值的行数COL:COL_1和COL_2(VAL_1不应使用).
预期的结果是:
GROUP COUNT
ABC 3
CDE 2
RTY 1
AAA 1
Run Code Online (Sandbox Code Playgroud)
一种可能性是手动指定列名称并计算行数,同时手动指定所有可能的值GROUP.但很明显,如果列数和值的GROUP数量很大,这个解决方案就不好了.
怎么自动完成?我认为该方法应该是过滤所有具有tunique值的行,以列开头COL?
我尝试过这个,但是在1Gb的数据集上需要很长时间才能得到一些不正确的结果.另外我不知道如何避免指定以下值GROUP:str.contains('ABC').
t_cols = [c for c in df.columns.values if not c.startswith('COL')]
aa = df.drop(t_cols,axis=1)
aa.apply(lambda row: row.astype(str).str.contains('ABC').any(), axis=1).shape
Run Code Online (Sandbox Code Playgroud) 我尝试将一个人插入我的本体,但得到错误:
Error 400: SPARQL Query: No 'query=' parameter
Fuseki - version 2.4.1 (Build date: 2016-11-04T18:59:20+0000)
Run Code Online (Sandbox Code Playgroud)
这是我的SPARQL INSERT查询#1:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX oo: <http://www.test.com/test-ontology.owl#>
INSERT {
oo:cap_123 rdf:type oo:MyTours .
oo:cap_123 oo:active true .
oo:cap_123 oo:title 'Text text text' .
}
WHERE {
FILTER NOT EXISTS { oo:cap_123 rdf:type oo:MyTours .
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的INSERT查询#2:
INSERT DATA {
oo:cap_123 rdf:type oo:MyTours .
oo:cap_123 oo:active true .
oo:cap_123 oo:title 'Text text text' .
}
Run Code Online (Sandbox Code Playgroud)
如果我使用Protégé插入个体,那么它可以工作并保存结果,如下所示:
<owl:NamedIndividual rdf:about="http://www.test.com/test-ontology.owl#cap_123"> …Run Code Online (Sandbox Code Playgroud) 我有以下 pandas DataFrame df:
df = pd.DataFrame(columns=["Event1", "Event2", "Event3"],
data=[[15,1,22],
[16,1.26,80],
[27,0,15]])
df = df.set_index([["Series1", "Series2", "Series3"]])
Run Code Online (Sandbox Code Playgroud)
我想创建一个多线图,其中 X 轴包含Event1、Event2和Event3,而 Y 轴应该是相应的数值。应该有3个系列:Series1, Series2, Series3。
我如何定义x,y和hue?sns.pointplot(x=???, y=???, hue=???,data=df)
plt.figure(figsize=(12,8))
ax = sns.pointplot(x=???, y=???, hue=???,data=df)
ax.grid(b=True, which='major', color='#d3d3d3', linewidth=1.0)
ax.grid(b=True, which='minor', color='#d3d3d3', linewidth=0.5)
plt.show()
Run Code Online (Sandbox Code Playgroud) 我使用此代码来将熊猫DataFrame的每一行转换df为Json字符串。问题是它正在打印None,但是会df.head()打印出数据。
import pandas as pd
import json
df = pd.read_csv('mydataset.csv')
for i in df.index:
print df.loc[i].to_json("row{}.json".format(i))
if i==10:
break
Run Code Online (Sandbox Code Playgroud)
如何获取每一行作为Json字符串变量并打印出来?Json字符串的结构是简单的,没有数组,只有字符串,整数和浮点字段。
我有一个pyspark.rdd.PipelinedRDD电话myRDD。这是其示例内容:
[((111, u'BB', u'A'), (444, u'BB', u'A')),
((222, u'BB', u'A'), (888, u'BB', u'A')),
((333, u'BB', u'B'), (999, u'BB', u'A')),...]
Run Code Online (Sandbox Code Playgroud)
我需要删除第三列值不一致的所有条目。预期的结果是这样的:
[((111, u'BB', u'A'), (444, u'BB', u'A')),
((222, u'BB', u'A'), (888, u'BB', u'A')),...]
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
我想删除以“ TYPE”字样开头且不包含_1?
df =
TYPE_1 TYPE_2 TYPE_3 COL1
aaa asb bbb 123
Run Code Online (Sandbox Code Playgroud)
结果应为:
df =
TYPE_1 COL1
aaa 123
Run Code Online (Sandbox Code Playgroud)
目前,我正在手动删除这些列,但是,如果列数很大,此方法将不是很有效:
df = df.drop(["TYPE_2","TYPE_3"], axis=1)
Run Code Online (Sandbox Code Playgroud) 这是我的数据框:
df =
UD QTY GRADE TIME_1 TIME_2
1 20 5 22.5 16.1
1 20 5 26.2 19.5
1 20 5 30.0 14.0
1 20 4 20.0 18.5
2 25 4 23.3 19.9
Run Code Online (Sandbox Code Playgroud)
我需要计算的平均值TIME_1和TIME_2各组合按UD,和QTY。然后,我想添加新列GRADE_COUNT,该列将存储每个组的行总数。例如,在上述数据集中,每个组有4行,分别由UD= 1和QTY= 20 定义。
结果应该是这样的:
df =
UD QTY MEAN_TIME_1 MEAN_TIME_2 COUNT
1 20 24.67 17.02 4
2 25 23.3 19.9 1
Run Code Online (Sandbox Code Playgroud)
我写了这段代码,对行进行分组,计算平均值并计算值。
groupby_object = df[['UD', 'QTY', 'GRADE', 'TIME_1', 'TIME_2']].groupby(['TIME_1', 'TIME_2])
df = …Run Code Online (Sandbox Code Playgroud) 我需要在字符串"2,4,5"中总结除以逗号的值.当然,我可以这样做:
String[] str = "2,4,5".split(",")
int total = 0;
for (int i=0; i<str.length; i++)
{
total += str[i];
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更优雅和更短的解决方案(最好是一行代码).
给定dataframe df,如何通过其索引检索列的名称?例如,可以按如下名称获取列的索引:df.columns.indexOf("col1"),但我只需要相反的事情。
我有一个包含两个字段的登录表单:用户名和密码.由于某种原因,值user始终等于0,而值pass正确传递.我可以使用echo看到它:<h1>User:<?php echo $user ?>Pass:<?php echo $pass ?></h1>
我正在修改代码,但无法理解为什么会发生这种情况.为什么user没有正确捕获?
<?php
@session_start();
$error = 0;
if (isset($_POST["user"]) && isset($_POST["pass"])) {
include_once 'include/User.php';
$user = $_POST['user'];
$pass = $_POST['pass'];
$error = 0;
$user = User::checkLogin($user, $pass);
if(!is_object($user) && $user == 0){
$error = 1;
if(session_status() === PHP_SESSION_ACTIVE) {
session_unset();
session_destroy();
}
}
if($error == 0){
$_SESSION['loged'] = 1;
$login = TRUE;
$_SESSION['userid'] = $user->id;
$_SESSION['username'] = $user->name." ".$user->surename;
header("Location: index.php?pagina=1");
}
else{
$error = …Run Code Online (Sandbox Code Playgroud)