小编JD2*_*775的帖子

VSCode 中的失控绝地语言任务

每次我关闭 VSCode(在运行一些 Python 脚本之后)时,我都会有一个 Python 任务在我的 M1 MacBook Air 上运行 90-100% CPU 的终端中徘徊,我每次都必须手动终止它。我在 PID 上运行了以下命令:

ps aux | grep <PID>
Run Code Online (Sandbox Code Playgroud)

它每次都返回相同的东西......

Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/Resources/Python.app/Contents/MacOS/Python /Users/<user>/.vscode/extensions/ms-python.python-2021.2.625869727/pythonFiles/runJediLanguageServer.py
Run Code Online (Sandbox Code Playgroud)

我检查了我的 VSCode 扩展,我没有安装任何“绝地”扩展,但也许它是其他扩展的一个挥之不去的任务。任何想法如何解决这一问题?

python python-jedi visual-studio-code

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

在Pandas的数据框中找到前10名

我有一个大约800行的数据帧(df),数据如下:

姓名:Jason
年龄:45票:1

姓名:Kim
年龄:30票:0

1 =有票0 =没有票

(对不起,格式不太好.数据帧中基本上是3列:名称,年龄和票证)

使用Pandas,我想知道找到拥有票证的十大最老的人的语法是什么

到目前为止,我有:

df.sort_values('Age',ascending=False,inplace=True)(data.Ticket==1)
(data.head(10))
Run Code Online (Sandbox Code Playgroud)

我知道这不正确,但它显示了我正在寻找的参数.有任何想法吗?谢谢

python pandas

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

在Pandas中添加计算列

我有一个包含10列的数据框.我想添加一个新列'age_bmi',它应该是一个计算列,乘以'age'*'bmi'.年龄是INT,bmi是FLOAT.

然后创建具有11列的新数据帧.

我正在做的事情不太对劲.我认为这是一个语法问题.有任何想法吗?

谢谢

df2['age_bmi'] = df(['age'] * ['bmi'])
print(df2)
Run Code Online (Sandbox Code Playgroud)

python pandas

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

从 read_csv 中提取文件名 - Python

我有一个脚本,当前从 .csv 文件读取原始数据并对数据执行一些 Pandas 数据分析。目前 .csv 文件是硬编码的,读取方式如下:

data = pd.read_csv('test.csv',sep="|", names=col)
Run Code Online (Sandbox Code Playgroud)

我想改变两件事:

  1. 我想把它变成一个循环,以便它遍历 .csv 文件的目录并在脚本中的每个文件下面执行熊猫分析。

  2. 我想获取每个 .csv 文件并删除“.csv”并将其存储在另一个列表变量中,我们称之为“new_table_list”。

我想我需要像下面这样的东西,至少在第一点(尽管我知道这并不完全正确)。我不知道如何解决第二点

任何帮助表示赞赏

import os 

path = '\test\test\csvfiles'
table_list = []

for filename in os.listdir(path):
    if filename.endswith('.csv'):
        table_list.append(file)
data = pd.read_csv(table_list,sep="|", names=col)
Run Code Online (Sandbox Code Playgroud)

python string pandas

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

在 Python 中添加字典条目并附加到 JSON 文件的最佳方法

我需要使用以下键将条目添加到字典中:

name
element
type
Run Code Online (Sandbox Code Playgroud)

我希望每个条目都附加到一个 JSON 文件,我将在其中访问它们以用于项目的另一部分。

我下面的内容在技术上是可行的,但是(至少)有一些问题。

首先,它不会阻止重复输入。例如,我可以让“xyz”、“4444”和“test2”多次作为 JSON 条目出现。有办法纠正这个问题吗?

是否有一种更清晰的方法来编写实际的数据输入部分,以便当我将这些值输入到字典中时,它不会直接出现在括号中?

最后,还有更好的地方来放置 JSON 片段吗?它应该在函数内部吗?

只是想把这个清理一下。谢谢

import json

element_dict = {}


def add_entry(name, element, type):

        element_dict["name"] = name
        element_dict["element"] = element
        element_dict["type"] = type
        return element_dict


#add entry
entry = add_entry('xyz', '4444', 'test2')


#export to JSON
with open('elements.json', 'a', encoding="utf-8") as file:
    x = json.dumps(element_dict, indent=4)
    file.write(x + '\n')
Run Code Online (Sandbox Code Playgroud)

python json dictionary

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

在Pandas中向字符串拆分命令添加函数

我有一个数据框,其中包含20个左右的列.其中一列称为'director_name',其值为'John Doe'或'Jane Doe'.我想将其拆分为2列,'First_Name'和'Last_Name'.当我运行以下操作时,它按预期工作,并将字符串拆分为2列:

data[['First_Name', 'Last_Name']] = data.director_name.str.split(' ', expand 
= True) 
data

First_Name    Last_Name
John          Doe
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但是当我在'director_name'下有NULL(NaN)值时,它不起作用.它会引发以下错误:

'Columns must be same length as key'
Run Code Online (Sandbox Code Playgroud)

我想添加一个函数来检查值!= null,然后执行上面列出的命令,否则为First_Name和'Last_Name'输入'NA'

有什么想法我会怎么做?

编辑:

我刚检查了文件,我不确定NULL是否是问题.我有一些长3-4个字符串的名字.即

John Allen Doe
John Allen Doe Jr
Run Code Online (Sandbox Code Playgroud)

也许我不能把它分成First_Name和Last_Name.

Hmmmm

python pandas

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

将大表读入 Pandas,有中间步骤吗?

我有一个正在整理的数据分析脚本。此脚本Select *从表中连接到 Teradata,并将其加载到 Pandas 数据帧中。

import teradata
import pandas as pd

with udaExec.connect(method="xxx", dsn="xxx", username="xxx", password="xxx") as session:

    query = "Select * from TableA"

    # read in records
    df = pd.read_sql(query, session)

    # misc pandas tests below...
Run Code Online (Sandbox Code Playgroud)

这对于具有 100k 或更少记录的表非常有用,但问题是许多表的记录远多于此(数百万条记录),并且它往往会无限期地运行。

我可以采取一些中间步骤吗?我一直在研究,我看到一些关于将 DB 表复制到 .csv 文件或 .txt 文件或其他东西,然后从中加载熊猫数据框(而不是从表本身加载),但我不能理解它。

任何意见,将不胜感激!谢谢。

python pandas

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

将列值拆分为2个新列 - Python Pandas

我有一个包含列'name'的数据框.像'詹姆斯卡梅隆'这样的价值观.我想将它拆分为2个新列'First_Name'和'Last_Name',但数据中没有分隔符,所以我不太清楚如何.我意识到'詹姆斯'处于位置[0]并且'卡梅隆'处于位置[1],但我不确定你是否能够在没有分隔符的情况下认出

df = pd.DataFrame({'name':['James Cameron','Martin Sheen'],
               'Id':[1,2]})
df
Run Code Online (Sandbox Code Playgroud)

编辑:

对于我提供的数据框架,Vaishali的回答完美无缺.我创建了该数据帧作为示例.我的真实代码看起来像这样"

data[['First_Name','Last_Name']] = data.director_name.str.split(' ', expand = True)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是一个错误:

'Columns must be same length as key'
Run Code Online (Sandbox Code Playgroud)

该列保持与我的示例相同的值.有什么建议?

谢谢

python pandas

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

在Python中基于通用分隔符切割字符串

我想取以下字符串并根据管道分隔符对其进行切片:

address = '1234 Broadway Ave | Los Angeles | CA | 94530'
Run Code Online (Sandbox Code Playgroud)

我想出了第一件作品:

street = address[:address.index('|')]
print(street)
1234 Broadway Ave
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获得城市/州/邮编:

city = 
state = 
zip =
Run Code Online (Sandbox Code Playgroud)

另外,有更好的方法吗?使用RegEx或类似的东西?之前没用过..

谢谢!

python string slice

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

在 Python 中将 .csv 值作为单个列表导入

我有一个csv包含一列记录的文件,如下所示:

test1
test2
test3
...
Run Code Online (Sandbox Code Playgroud)

我使用这个将它们导入到 Python 列表中:

import csv

results = []
with open('test.csv', newline='') as inputfile:
    for row in csv.reader(inputfile):
        results.append(row)

print(results)
Run Code Online (Sandbox Code Playgroud)

效果很好,但是,它会像这样打印出来:

[['test1'],['test2'],['test3']]
Run Code Online (Sandbox Code Playgroud)

我将如何调整我的代码以将它们打印在一个列表中,而不是这样:

['test1','test2','test3']
Run Code Online (Sandbox Code Playgroud)

并且,一种输出比另一种更受欢迎吗?我意识到它取决于用例。我只是好奇其他人如何通过 .csv 处理导入的列表,以及一个人比另一个人有什么优势。

谢谢!

python csv list

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

尝试向 Matplotlib 图表添加颜色渐变

我正在尝试为我的图表添加红色到绿色的颜色渐变。然而,当我运行以下命令时,我得到:

TypeError: object of type 'Color' has no len()
Run Code Online (Sandbox Code Playgroud)

这是相关代码:

from colour import Color

red = Color("red")
colors = list(red.range_to(Color("green"),10))

for col in ['DISTINCT_COUNT', 'NULL_COUNT','MAX_COL_LENGTH', 'MIN_COL_LENGTH']: 
    grid[['COLUMN_NM', col]].set_index('COLUMN_NM').plot.bar(title=table_nm, figsize=(12, 8), color=colors)
    plt.xlabel('Column', labelpad=12)
    plt.tight_layout()
    plt.show()
Run Code Online (Sandbox Code Playgroud)

如果我只运行顶部部分并打印结果,它似乎运行良好:

red = Color("red")
colors = list(red.range_to(Color("green"),10))
print(colors)

[<Color red>, <Color #f13600>, <Color #e36500>, <Color #d58e00>, <Color #c7b000>, <Color #a4b800>, <Color #72aa00>, <Color #459c00>, <Color #208e00>, <Color green>]
Run Code Online (Sandbox Code Playgroud)

所以当我尝试在这里使用它时一定是这样:

grid[['COLUMN_NM', col]].set_index('COLUMN_NM').plot.bar(title=table_nm, figsize=(12, 8), color=colors)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python matplotlib

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

将 .txt 文件读入列表 C#

我是来自 Python 的 C# 新手,这篇文章对我来说真的很困惑......

我有一个简单的 .txt 文件,其中包含以下值:

Name1
Name2
Name3
Run Code Online (Sandbox Code Playgroud)

我想将它们读入一个列表,每行列表中有 1 个项目。看起来很容易,但我无法弄清楚。我做错了什么?谢谢

using System;
using System.Collections.Generic;

string LOG_PATH = "C:\\Users\\xyz\\source\\repos\\LoopPractice\\TextFile1.txt"
List<string> allLinesText = ReadAllLines(LOG_PATH).ToList();
Run Code Online (Sandbox Code Playgroud)

c# list

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