每次我关闭 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 扩展,我没有安装任何“绝地”扩展,但也许它是其他扩展的一个挥之不去的任务。任何想法如何解决这一问题?
我有一个大约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)
我知道这不正确,但它显示了我正在寻找的参数.有任何想法吗?谢谢
我有一个包含10列的数据框.我想添加一个新列'age_bmi',它应该是一个计算列,乘以'age'*'bmi'.年龄是INT,bmi是FLOAT.
然后创建具有11列的新数据帧.
我正在做的事情不太对劲.我认为这是一个语法问题.有任何想法吗?
谢谢
df2['age_bmi'] = df(['age'] * ['bmi'])
print(df2)
Run Code Online (Sandbox Code Playgroud) 我有一个脚本,当前从 .csv 文件读取原始数据并对数据执行一些 Pandas 数据分析。目前 .csv 文件是硬编码的,读取方式如下:
data = pd.read_csv('test.csv',sep="|", names=col)
Run Code Online (Sandbox Code Playgroud)
我想改变两件事:
我想把它变成一个循环,以便它遍历 .csv 文件的目录并在脚本中的每个文件下面执行熊猫分析。
我想获取每个 .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) 我需要使用以下键将条目添加到字典中:
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) 我有一个数据框,其中包含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
我有一个正在整理的数据分析脚本。此脚本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 文件或其他东西,然后从中加载熊猫数据框(而不是从表本身加载),但我不能理解它。
任何意见,将不胜感激!谢谢。
我有一个包含列'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)
该列保持与我的示例相同的值.有什么建议?
谢谢
我想取以下字符串并根据管道分隔符对其进行切片:
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或类似的东西?之前没用过..
谢谢!
我有一个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 处理导入的列表,以及一个人比另一个人有什么优势。
谢谢!
我正在尝试为我的图表添加红色到绿色的颜色渐变。然而,当我运行以下命令时,我得到:
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 的 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) python ×11
pandas ×6
list ×2
string ×2
c# ×1
csv ×1
dictionary ×1
json ×1
matplotlib ×1
python-jedi ×1
slice ×1