小编Ale*_*der的帖子

删除dataframe python中的空间

我的代码中出现错误,因为我试图通过调用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)

python whitespace strip dataframe pandas

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

python pandas日期时间转换为日期

我希望将日期时间转换为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)

谁能指导我正确的方向?

python datetime date pandas

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

如何使用pd.read_clipboard读取带有列表的数据框?

以下是另一个问题的一些数据:

                          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)

有更聪明的方法吗?

python clipboard dataframe pandas

9
推荐指数
5
解决办法
419
查看次数

在熊猫系列中设置值很慢,为什么?

有谁知道为什么直接在熊猫系列上设置项目是如此令人难以置信的慢?我做错了什么,或者只是它的方式?

我运行了几个测试,看看在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毫秒

初始化数组,创建系列,使用set_value进行设置

%%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

初始化数组,创建系列,使用iat设置

%%timeit
a = np.empty(1000, dtype='float')
s = pd.Series(data=a)
for i …
Run Code Online (Sandbox Code Playgroud)

python pandas

8
推荐指数
1
解决办法
7270
查看次数

使用np.where基于多个列的pandas多个条件

我试图在两个条件下对大熊猫数据帧的颜色进行着色.例:

如果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)

顺便说一句:我理解,它说的是什么,但不知道如何处理它...提前谢谢!

python numpy conditional-statements pandas

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

如何使用 LangChain Callbacks 将模型调用和答案记录到变量中

我正在使用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)

python nlp openai-api langchain

8
推荐指数
1
解决办法
4376
查看次数

向Dataframe添加行时的ValueError

我想添加到一个数据帧动态,但得到的错误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) …

python pandas

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

在jupyter qtconsole中自动运行%matplotlib内联

有没有办法更改配置文件以使jupyter qtconsole在启动时运行以下命令?:

%matplotlib inline
Run Code Online (Sandbox Code Playgroud)

matplotlib qtconsole jupyter

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

Pandas Pivot表Aggfunc列表

Pandas Pivot表Agg函数字典

我试图aggregative在旋转期间计算3个函数:

  1. 计数
  2. 意思
  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个函数?

python pivot-table pandas

7
推荐指数
2
解决办法
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 garbage-collection pandas

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