小编Tyl*_*wan的帖子

Python:C 引擎不支持正则表达式分隔符

尝试将一堆 csv 上传到数据库。csv 不一定总是用逗号分隔,因此我使用正则表达式来确保使用正确的分隔符。然后我添加了

error_bad_lines=False
Run Code Online (Sandbox Code Playgroud)

为了处理 CParserError:错误标记数据。C 错误:第 127 行中预期有 3 个字段,但看到了 4 个字段,这导致我收到此错误

ValueError: Falling back to the 'python' engine because the 'c' engine does not support regex separators, but this causes 'error_bad_lines' to be ignored as it is not supported by the 'python' engine. 
Run Code Online (Sandbox Code Playgroud)

对于以下代码

有解决方法吗?

import psycopg2
import pandas as pd
import sqlalchemy as sa
csvList = []
tableList = []
filenames = find_csv_filenames(directory)
for name in filenames:  
    lhs, rhs = str(name).split(".", 1)
    print name
    dataRaw = …
Run Code Online (Sandbox Code Playgroud)

python regex pandas

6
推荐指数
2
解决办法
1万
查看次数

d3.forcesimulation()链接距离

我在堆栈上四处寻找变化的链接距离,看来要改变链接距离,您需要实现一个函数,然后传递该函数以动态分配链接距离,如下所示:

function linkDistance(d) {
    return d.distance;
}
Run Code Online (Sandbox Code Playgroud)

然后我以为我可以传递给svg,但是返回函数错误而不是现有的linkdistance或distance

var link = svg.selectAll(".link")
  .data(bilinks)    
  .enter().append("path")
  .style("stroke", "#6b7071")    //gunmetal grey link
  .attr("class", "link")
  .linkDistance(linkDistance)
  .attr("fill", "none")
Run Code Online (Sandbox Code Playgroud)

使用文档中的.linkDistance:https : //github.com/d3/d3/blob/master/API.md#forces-d3-force理想情况下,我想修改参数,例如链接距离,电荷,力和使用数据链接颜色就像我对点的颜色所做的一样,但是,我认为我缺乏有关如何正确执行此操作的知识。例如在代码的最后一行中,如果我要将from:to更改为

.style("stroke", "#6b7071")    //gunmetal grey link

.style("stroke", function(d) { return color(d.group);})
Run Code Online (Sandbox Code Playgroud)

链接颜色是一种颜色,而我希望根据组别选择39种颜色。此外,我也尝试过

 var simulation = d3.forceSimulation()
    .force("link", d3.forceLink().distance(function(d) {return d.distance}).strength(0.1))
    .force("charge", d3.forceManyBody(30))
    .force("center", d3.forceCenter(width / 2, height / 2));
Run Code Online (Sandbox Code Playgroud)

更新:我不确定长度的数据在链接和双链接的数组中,以便我可以引用距离,但是似乎无法使用数组中的值,但是console.log显示它已正确存储

<!DOCTYPE html>
<meta charset="utf-8">
<style>

.node {
  stroke: #fff;
  stroke-width: 1.5px;
}



</style>
<svg width="15000" height="15000"></svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>

//change background …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js

5
推荐指数
1
解决办法
1万
查看次数

将嵌套字典写入 csv

我有一本字典:

dic = {"Location1":{"a":1,"b":2,"c":3},"Location2":{"a":4,"b":5,"c":6}}
Run Code Online (Sandbox Code Playgroud)

我想将此字典制表到 csv 中,最上面的键是最左边的列,子键是最上面一行的标题,每个后续行都填充子键值,如下所示:

Location    a   b   c
Location1   1   2   3
Location2   4   5   6
Run Code Online (Sandbox Code Playgroud)

我已使用以下脚本成功完成:

import csv

dic = {"Location1":{"a":1,"b":2,"c":3},"Location2":{"a":4,"b":5,"c":6}}
fields = ["Location","a","b","c"]

with open(r"C:\Users\tyler.cowan\Desktop\tabulated.csv", "w", newline='') as f:
    w = csv.DictWriter(f, extrasaction='ignore', fieldnames = fields)
    w.writeheader()
    for k in dic:
        w.writerow({field: dic[k].get(field) or k for field in fields})
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我将这个测试用例写入了一个真实的用例,最终将我的位置键分配到其他列中。现在我的第一个想法是我一定把构建字典搞砸了,但经过检查,我得到了完全相同的字典格式,除了更多的键值。然而,输出像

Location    a   b   c   d           e   f   g   h
Location1   1   2   3   Location1   7   8   9   10
Location2   4   5   6   Location2   2   3 …
Run Code Online (Sandbox Code Playgroud)

python csv dictionary

5
推荐指数
1
解决办法
2983
查看次数

Python AttributeError:'str'对象没有属性'DataFrame'

以下代码片段工作正常,直到我添加了几行引用日期但不在其上方追加或更改它的代码行.简单的设置案例

date = ['1/1/2001','1/1/2001','1/1/2001','1/1/2001']
Run Code Online (Sandbox Code Playgroud)

代码

 import pandas as pd
 ProdDate = ['1/1/2001','1/1/2001','1/1/2001','1/1/2001']
 df = pd.DataFrame(ProdDate, columns = ['Date'])
Run Code Online (Sandbox Code Playgroud)

工作良好.这就是为什么这令人困惑,因为现在date是一个250000值的列表,直到我在上面添加了几行代码并且现在这行返回时才一直没用

AttributeError: 'str' object has no attribute 'DataFrame' 
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我似乎无法在简单的情况下复制.

编辑

几行代码

for i in range(0,len(UniqueAPI)):
    for j in range(0,len(API)):
        if UniqueAPI[i] == API[j]:
            index = j
            pd = PDays[j]
            g = vG[j]
            o = vO[j]
            c = vC[j]
            lhs, rhs = str(ProdDate[j]).rsplit("/", 1)
            daycounter = 0
            start = 365 - int(pd)
            if clndr.isleap(int(rhs)):
                calDays = LeapDaysInMonth
            else:
                calDays = DaysInMonth
            break
    for …
Run Code Online (Sandbox Code Playgroud)

python attributes pandas

4
推荐指数
1
解决办法
3万
查看次数

将未知分隔符的.csv加载到Pandas DataFrame中

我有许多要加载到pandas数据帧中的.csv文件,至少有两个定界符逗号和半冒号,但我不确定其余定界符。我知道可以使用

dataRaw = pd.read_csv(name,sep=",")
Run Code Online (Sandbox Code Playgroud)

dataRaw = pd.read_csv(name,sep=";")
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果我不指定定界符,则默认值为逗号,这将导致其他定界符的单列数据帧。因此,有没有一种动态的方式来分配定界符,以便任何csv可以传递给熊猫?例如尝试逗号或分号。熊猫文档并未暗示在csv读取中使用逻辑

python csv delimiter pandas

3
推荐指数
2
解决办法
2753
查看次数

Python最快的方法来查找列表中项目的索引

如果一个人想要在列表中找到项目的索引,你可以用两种不同的方式来做这就是我所知道的最快的

aList = [123, 'xyz', 'zara','xyz', 'abc']; 
indices = [i for i, x in enumerate(aList) if x == "xyz"]
print(indices)
Run Code Online (Sandbox Code Playgroud)

另一种方式不是pythonic和慢

count = 0
indices = []
aList = [123, 'xyz', 'zara','xyz', 'abc'];
for i in range(0,len(aList):
    if 'xyz' == aList[i]:
        indices.append(i)
print(indices)
Run Code Online (Sandbox Code Playgroud)

第一种方法无疑是更快但是如果你想要更快的话有什么方法呢?对于第一个索引使用方法

aList = [123, 'xyz', 'zara','xyz', 'abc'];             
print "Index for xyz : ", aList.index( 'xyz' ) 
Run Code Online (Sandbox Code Playgroud)

是非常快但无法处理多个索引如何加快速度?

python indexing performance list

2
推荐指数
2
解决办法
2万
查看次数

按F#中的数值范围分组

如何用F#和/或Deedle中的数字范围组合.即我正在寻找脚下的数据,我想分成500英尺的桶

例如

我有像这样的数据

5000 5200 5700 5800 6100 6200 6300

我想要团体

{5000,5200} {5700,5800} {6100,6200,6300}

f# deedle

2
推荐指数
1
解决办法
139
查看次数

如何避免篡改javascript/HTML元素

在我的小提琴中我有一个例子,应该只允许用户通过根据一些计算的javascript将提交按钮元素禁用为false来点击提交.

  function enable(TVD) {
    if (TVD[TVD.length - 1] >= trueTVD - 5 && TVD[TVD.length - 1] <= trueTVD + 5) {
      //console.log(TVD[TVD.length - 1]);
      $('#submitButton').prop("disabled", false);
    } else {
      $('#submitButton').prop("disabled", true);
    }
  }
Run Code Online (Sandbox Code Playgroud)

发生的事情是我发现有些用户设法绕过这个可能是通过使用开发工具之类的东西.

我想设计这个,以免我的安全被绕过.如何实现此目标或隐藏开发工具中的javascript?

html javascript security

0
推荐指数
1
解决办法
408
查看次数