我的代码中出现错误,因为我试图通过调用csv中的元素来创建数据帧.我从文件中调用了两列:CompanyName和QualityIssue.质量问题有三种类型:设备质量,用户和两者.我遇到了试图制作数据帧df.Equipment质量的问题,这显然不起作用,因为那里有空间.我想从原始文件中获取设备质量,并用下划线替换空格.
输入:
Top Calling Customers, Equipment Quality, User, Neither,
Customer 3, 2, 2, 0,
Customer 1, 0, 2, 1,
Customer 2, 0, 1, 0,
Customer 4, 0, 1, 0,
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import numpy as np
import pandas as pd
import pandas.util.testing as tm; tm.N = 3
# Get the data.
data = pd.DataFrame.from_csv('MYDATA.csv')
# Group the data by calling CompanyName and QualityIssue columns.
byqualityissue = data.groupby(["CompanyName", "QualityIssue"]).size()
# Make a pandas dataframe of the grouped data.
df = pd.DataFrame(byqualityissue)
# Change …
Run Code Online (Sandbox Code Playgroud) 我希望将日期时间转换为pandas
datetime
系列的日期。
我在下面列出了代码:
df = pd.DataFrame()
df = pandas.io.parsers.read_csv("TestData.csv", low_memory=False)
df['PUDATE'] = pd.Series([pd.to_datetime(date) for date in df['DATE_TIME']])
df['PUDATE2'] = datetime.datetime.date(df['PUDATE']) #Does not work
Run Code Online (Sandbox Code Playgroud)
谁能指导我正确的方向?
以下是另一个问题的一些数据:
positive negative neutral
1 [marvel, moral, bold, destiny] [] [view, should]
2 [beautiful] [complicated, need] []
3 [celebrate] [crippling, addiction] [big]
Run Code Online (Sandbox Code Playgroud)
我首先要做的是在所有单词中添加引号,然后:
import ast
df = pd.read_clipboard(sep='\s{2,}')
df = df.applymap(ast.literal_eval)
Run Code Online (Sandbox Code Playgroud)
有更聪明的方法吗?
有谁知道为什么直接在熊猫系列上设置项目是如此令人难以置信的慢?我做错了什么,或者只是它的方式?
我运行了几个测试,看看在pandas Series对象上设置值的最快方法是什么.以下是从快到慢排序的结果:
%%timeit
a = np.empty(1000, dtype='float')
for i in range(len(a)):
a[i] = 1.0
s = pd.Series(data=a)
Run Code Online (Sandbox Code Playgroud)
1000个循环,最佳3:630μs/循环
%%timeit
l = []
for i in range(1000):
l.append(1.0)
s = pd.Series(data=l)
Run Code Online (Sandbox Code Playgroud)
1000循环,最佳3:每循环1.05毫秒
%%timeit
a = np.empty(1000, dtype='float')
s = pd.Series(data=a)
for i in range(len(a)):
s.set_value(i, 1.0)
Run Code Online (Sandbox Code Playgroud)
100个循环,最佳3:每循环18.5毫秒
%%timeit
a = np.empty(1000, dtype='float')
s = pd.Series(data=a)
for i in range(len(a)):
s[i] = 1.0
Run Code Online (Sandbox Code Playgroud)
10个循环,每个循环最佳3:30.2 ms
%%timeit
a = np.empty(1000, dtype='float')
s = pd.Series(data=a)
for i …
Run Code Online (Sandbox Code Playgroud) 我试图在两个条件下对大熊猫数据帧的颜色进行着色.例:
如果col1的值> a(浮点)和col3的值 - col3的值<b(浮点数),则col 4的值= string,否则:其他字符串.
我现在尝试了很多不同的方法,我在网上找到的所有方法都只取决于一个条件.
我的示例代码总是引发错误:系列的真值是不明确的.使用a.empty,a.bool(),a.item(),a.any()或a.all().
这是代码.尝试了几个变化没有成功.
df = pd.DataFrame()
df['A'] = range(10)
df['B'] = range(11,21,1)
df['C'] = range(20,10,-1)
borderE = 3.
ex = 0.
#print df
df['color'] = np.where(all([df.A < borderE, df.B - df.C < ex]), 'r', 'b')
Run Code Online (Sandbox Code Playgroud)
顺便说一句:我理解,它说的是什么,但不知道如何处理它...提前谢谢!
我正在使用LangChain构建 NL 应用程序。我希望将与 LLM 的交互记录在一个变量中,我可以将其用于日志记录和调试目的。我创建了一个非常简单的链:
from typing import Any, Dict
from langchain import PromptTemplate
from langchain.callbacks.base import BaseCallbackHandler
from langchain.chains import LLMChain
from langchain.llms import OpenAI
llm = OpenAI()
prompt = PromptTemplate.from_template("1 + {number} = ")
handler = MyCustomHandler()
chain = LLMChain(llm=llm, prompt=prompt, callbacks=[handler])
chain.run(number=2)
Run Code Online (Sandbox Code Playgroud)
为了记录发生的情况,我创建了一个自定义CallbackHandler:
class MyCustomHandler(BaseCallbackHandler):
def on_text(self, text: str, **kwargs: Any) -> Any:
print(f"Text: {text}")
self.log = text
def on_chain_start(
self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any
) -> Any:
"""Run …
Run Code Online (Sandbox Code Playgroud) 我想添加到一个数据帧动态,但得到的错误ValueError: Incompatible Indexer with Dataframe
在该行df.loc[count] = pandas.DataFrame(amounts).T
.
df = pandas.DataFrame(index=numpy.arange(0, 1), columns=required_indices_of_series)
#This just creates a dataframe with the right columns, but with values I need to modify, which I aim to do below.
print('1', df)
count = 0
for bond in bonds:
#Some stuff here to get the Series Object `amounts` which is irrelevant.
print('2', pandas.DataFrame(amounts).T)
df.loc[count] = pandas.DataFrame(amounts).T
count += 1
Run Code Online (Sandbox Code Playgroud)
print('1', df)
收益:
1983-05-15 1983-11-15 1984-05-15 1984-11-15
NaN NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
print('2', pandas.DataFrame(amounts).T) …
有没有办法更改配置文件以使jupyter qtconsole在启动时运行以下命令?:
%matplotlib inline
Run Code Online (Sandbox Code Playgroud) Pandas Pivot表Agg函数字典
我试图aggregative
在旋转期间计算3个函数:
这是代码:
n_page = (pd.pivot_table(Main_DF,
values='SPC_RAW_VALUE',
index=['ALIAS', 'SPC_PRODUCT', 'LABLE', 'RAW_PARAMETER_NAME'],
columns=['LOT_VIRTUAL_LINE'],
aggfunc={'N': 'count', 'Mean': np.mean, 'Sigma': np.std})
.reset_index()
)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是: KeyError: 'Mean'
我该如何计算这3个函数?
使用%prun在IPython中分析我的代码,我注意到大部分功能时间花在垃圾收集上(0.334s与0.428总时间).
79254 function calls (77408 primitive calls) in 0.428 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
5 0.334 0.067 0.334 0.067 {gc.collect}
15757 0.005 0.000 0.007 0.000 {isinstance}
1584 0.002 0.000 0.004 0.000 dtypes.py:68(is_dtype)
Run Code Online (Sandbox Code Playgroud)
我已经尝试在调用函数之前和返回它的值之后禁用/启用垃圾收集,但时间几乎完全相同.
import gc
gc.disable()
x = foo()
gc.disable()
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么这是一个瓶颈以及如何加快它?
我的Python/Pandas版本如下:
Python 2.7.11 |Continuum Analytics, Inc.| (default, Dec 6 2015, 18:57:58)
Pandas 0.17.1
Run Code Online (Sandbox Code Playgroud) python ×9
pandas ×8
dataframe ×2
clipboard ×1
date ×1
datetime ×1
jupyter ×1
langchain ×1
matplotlib ×1
nlp ×1
numpy ×1
openai-api ×1
pivot-table ×1
qtconsole ×1
strip ×1
whitespace ×1