小编cs9*_*s95的帖子

在Pandas中附加到空数据框?

是否可以附加到不包含任何索引或列的空数据框?

我试图这样做,但最后继续得到一个空的数据帧.

例如

df = pd.DataFrame()
data = ['some kind of data here' --> I have checked the type already, and it is a dataframe]
df.append(data)
Run Code Online (Sandbox Code Playgroud)

结果如下:

Empty DataFrame
Columns: []
Index: []
Run Code Online (Sandbox Code Playgroud)

python pandas

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

Pandas中加入和合并有什么区别?

假设我有两个这样的DataFrame:

left = pd.DataFrame({'key1': ['foo', 'bar'], 'lval': [1, 2]})

right = pd.DataFrame({'key2': ['foo', 'bar'], 'rval': [4, 5]})
Run Code Online (Sandbox Code Playgroud)

我想合并它们,所以我尝试这样的事情:

pd.merge(left, right, left_on='key1', right_on='key2')
Run Code Online (Sandbox Code Playgroud)

而且我很高兴

    key1    lval    key2    rval
0   foo     1       foo     4
1   bar     2       bar     5
Run Code Online (Sandbox Code Playgroud)

但是我正在尝试使用join方法,我一直认为它非常相似.

left.join(right, on=['key1', 'key2'])
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

//anaconda/lib/python2.7/site-packages/pandas/tools/merge.pyc in _validate_specification(self)
    406             if self.right_index:
    407                 if not ((len(self.left_on) == self.right.index.nlevels)):
--> 408                     raise AssertionError()
    409                 self.right_on = [None] * n
    410         elif self.right_on is not None:

AssertionError: 
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python join dataframe pandas

171
推荐指数
7
解决办法
10万
查看次数

如何计算NumPy bool数组中真实元素的数量

我有一个布尔类型的NumPy数组'boolarr'.我想计算其值为的元素数量True.是否有专门用于此任务的NumPy或Python例程?或者,我是否需要迭代脚本中的元素?

python arrays boolean numpy count

162
推荐指数
3
解决办法
19万
查看次数

重命名pandas数据帧中的单个列标题

我有一个名为的数据帧data.如何重命名唯一的一个列标题?例如gdp,以log(gdp)

data =
    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7
5   4    8    3
6   8    2    8
7   9    9   10
8   6    6    4
9  10   10    7
Run Code Online (Sandbox Code Playgroud)

python rename dataframe pandas

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

如何获取pandas DataFrame的最后N行?

我有熊猫数据帧df1df2(DF1是vanila数据帧,DF2由"STK_ID"和"RPT_Date"索引):

>>> df1
    STK_ID  RPT_Date  TClose   sales  discount
0   000568  20060331    3.69   5.975       NaN
1   000568  20060630    9.14  10.143       NaN
2   000568  20060930    9.49  13.854       NaN
3   000568  20061231   15.84  19.262       NaN
4   000568  20070331   17.00   6.803       NaN
5   000568  20070630   26.31  12.940       NaN
6   000568  20070930   39.12  19.977       NaN
7   000568  20071231   45.94  29.269       NaN
8   000568  20080331   38.75  12.668       NaN
9   000568  20080630   30.09  21.102       NaN
10  000568  20080930   26.00  30.769       NaN

>>> df2 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

149
推荐指数
3
解决办法
24万
查看次数

是否有可能"破解"Python的打印功能?

注意:此问题仅供参考.我很有兴趣看到Python内部有多深入,可以使用它.

不久前,在一个问题内部开始讨论是否可以在调用之后/期间修改传递给print语句的字符串print.例如,考虑功能:

def print_something():
    print('This cat was scared.')
Run Code Online (Sandbox Code Playgroud)

现在,当print运行时,输出到终端应该显示:

This dog was scared.
Run Code Online (Sandbox Code Playgroud)

请注意,"cat"一词已被"dog"一词取代.在某处某处能够修改那些内部缓冲区来改变打印的内容.假设这是在没有原始代码作者的明确许可的情况下完成的(因此,黑客/劫持).

这个评论从智者@abarnert,尤其让我思考:

有几种方法可以做到这一点,但它们都非常丑陋,永远不应该完成.最简单的方法是code将函数内的对象替换为 具有不同co_consts 列表的对象.接下来可能会进入C API来访问str的内部缓冲区.[...]

所以,看起来这实际上是可行的.

这是我解决这个问题的天真方式:

>>> import inspect
>>> exec(inspect.getsource(print_something).replace('cat', 'dog'))
>>> print_something()
This dog was scared.
Run Code Online (Sandbox Code Playgroud)

当然,这exec很糟糕,但这并没有真正回答这个问题,因为 print调用时/后调用它实际上并没有修改任何内容.

如果@abarnert解释了它会怎么做?

python printing python-3.x python-internals

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

Java中的Collection和List有什么区别?

CollectionListJava有什么区别?我什么时候应该使用哪个?

java collections

145
推荐指数
4
解决办法
10万
查看次数

将特定选定列作为副本提取到新DataFrame

我有一个包含4列的pandas DataFrame,我想创建一个只有三列的 DataFrame .这个问题类似于:从数据框中提取特定列,但是对于不是R的pandas.以下代码不起作用,引发错误,并且当然不是这种方式的pandasnic方法.

import pandas as pd
old = pd.DataFrame({'A' : [4,5], 'B' : [10,20], 'C' : [100,50], 'D' : [-30,-50]})
new = pd.DataFrame(zip(old.A, old.C, old.D)) # raises TypeError: data argument can't be an iterator 
Run Code Online (Sandbox Code Playgroud)

什么是pandasnic方式呢?

python pandas chained-assignment

138
推荐指数
7
解决办法
29万
查看次数

Pandas DataFrame列表

我根据满足的另一列中的条件从列中提取数据的子集.

我可以返回正确的值,但它位于pandas.core.frame.DataFrame中.如何将其转换为列表?

import pandas as pd

tst = pd.read_csv('C:\\SomeCSV.csv')

lookupValue = tst['SomeCol'] == "SomeValue"
ID = tst[lookupValue][['SomeCol']]
#How To convert ID to a list
Run Code Online (Sandbox Code Playgroud)

python tolist pandas

136
推荐指数
3
解决办法
42万
查看次数

通过pandas数据帧逐行迭代

我正在寻找通过熊猫逐行迭代DataFrame.我到目前为止的方式如下:

for i in df.index:
    do_something(df.ix[i])
Run Code Online (Sandbox Code Playgroud)

是否有更高性能和/或更惯用的方式来做到这一点?我知道应用,但有时使用for循环更方便.

python pandas

135
推荐指数
0
解决办法
20万
查看次数