相关疑难解决方法(0)

Matplotlib,从三个不等长度的数组创建堆积直方图

我想创建一个堆叠直方图.如果我有一个由三个等长数据集组成的二维数组,这很简单.代码和图片如下:

import numpy as np
from matplotlib import pyplot as plt

# create 3 data sets with 1,000 samples
mu, sigma = 200, 25
x = mu + sigma*np.random.randn(1000,3)

#Stack the data
plt.figure()
n, bins, patches = plt.hist(x, 30, stacked=True, normed = True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,如果我尝试使用具有不同长度的三个数据集的类似代码,则结果是一个直方图覆盖另一个直方图.有什么办法可以用混合长度数据集进行叠加直方图吗?

##Continued from above
###Now as three separate arrays
x1 = mu + sigma*np.random.randn(990,1)
x2 = mu + sigma*np.random.randn(980,1)
x3 = mu + sigma*np.random.randn(1000,1)

#Stack the data
plt.figure()
plt.hist(x1, bins, stacked=True, normed = True)
plt.hist(x2, bins, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

Python Pandas ValueError数组必须全部相同

迭代一大堆.mp3链接以获取元数据标签并将其保存到Excel文件中.导致此错误.我感谢任何帮助.谢谢.

    #print is_connected();

    # Create a Pandas dataframe from the data.
df = pd.DataFrame({'Links' : lines ,'Titles' : titles , 'Singers': finalsingers , 'Albums':finalalbums , 'Years' : years})


    # Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter(xlspath, engine='xlsxwriter')

    # Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
    #df.to_excel(writer, sheet_name='Sheet1')


    # Close the Pandas Excel writer and output the Excel file.
writer.save()

Traceback (most recent call last):
  File "mp.py", line 87, in <module>
    df …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何用pandas读取json-dictionary类型文件?

我有一个像这样的长json:http://pastebin.com/gzhHEYGy

我想将它放入一个pandas数据框中以便使用它,因此通过文档我执行以下操作:

df = pd.read_json('/user/file.json')
print df
Run Code Online (Sandbox Code Playgroud)

我得到了这个追溯:

  File "/Users/user/PycharmProjects/PAN-pruebas/json_2_dataframe.py", line 6, in <module>
    df = pd.read_json('/Users/user/Downloads/54db3923f033e1dd6a82222aa2604ab9.json')
  File "/usr/local/lib/python2.7/site-packages/pandas/io/json.py", line 198, in read_json
    date_unit).parse()
  File "/usr/local/lib/python2.7/site-packages/pandas/io/json.py", line 266, in parse
    self._parse_no_numpy()
  File "/usr/local/lib/python2.7/site-packages/pandas/io/json.py", line 483, in _parse_no_numpy
    loads(json, precise_float=self.precise_float), dtype=None)
  File "/usr/local/lib/python2.7/site-packages/pandas/core/frame.py", line 203, in __init__
    mgr = self._init_dict(data, index, columns, dtype=dtype)
  File "/usr/local/lib/python2.7/site-packages/pandas/core/frame.py", line 327, in _init_dict
    dtype=dtype)
  File "/usr/local/lib/python2.7/site-packages/pandas/core/frame.py", line 4620, in _arrays_to_mgr
    index = extract_index(arrays)
  File "/usr/local/lib/python2.7/site-packages/pandas/core/frame.py", line 4668, in extract_index
    raise ValueError('arrays must …
Run Code Online (Sandbox Code Playgroud)

python io parsing json pandas

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

熊猫有不同长度的阵列

这是我的代码.由于要解析的原始数据的内容,我最终得到的"用户列表"和"推文列表"的长度不同.将列表作为数据框中的列写入时,我得到了ValueError: arrays must all be same length.我意识到这一点,但一直在寻找一种方法来解决它,打印0NaN在较短阵列的正确位置.有任何想法吗?

import pandas
from bs4 import BeautifulSoup
soup = BeautifulSoup(open('#raw.html'))
chunk = soup.find_all('div', class_='content')

userlist = []
tweetlist = []

for tweet in chunk:
    username = tweet.find_all(class_='username js-action-profile-name')
    for user in username:
        user2 = user.get_text()
        userlist.append(user2)

for text in chunk:
    tweets = text.find_all(class_='js-tweet-text tweet-text')
for tweet in tweets:
    tweet2 = tweet.get_text().encode('utf-8')
    tweetlist.append('|'+tweet2)

print len(tweetlist)
print len(userlist)

#MAKE A DATAFRAME WITH THIS
data = {'tweet' : tweetlist, 'user' : …
Run Code Online (Sandbox Code Playgroud)

python arrays dataframe pandas

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

从不等长度列表的dict创建一个DataFrame

我有一个列表的字典(具有可变长度),我期待从中创建一个Dataframe的有效方法.
假设我有最小列表长度,所以我可以在创建Dataframe时截断更大列表的大小.
这是我的虚拟代码

data_dict = {'a': [1,2,3,4], 'b': [1,2,3], 'c': [2,45,67,93,82,92]}
min_length = 3
Run Code Online (Sandbox Code Playgroud)

我可以拥有10k或20k密钥的字典,因此寻找一种有效的方法来创建像下面这样的DataFrame

>>> df
   a  b   c
0  1  1   2
1  2  2  45
2  3  3  67
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

6
推荐指数
2
解决办法
2220
查看次数

将Pandas数据框存储在字典或面板中是否更好?

我希望这听起来不是一个公开的讨论问题.我将针对具体案例提供一些细节.

我是Pandas的新手,我需要存储几个2D阵列,其中列表示频率,行表示方向(2D波谱,如果您很好奇).每个数组代表一个特定的时间.

我将这些数组存储为Pandas DataFrames,但为了将它们保存在单个对象中,我想到了两个选项:

  1. 将DataFrame存储在字典中,其中键是时间戳.

  2. 将数据框存储在Pandas面板中,其中项目是时间戳.

第一个选项看起来很简单,并且可以灵活地存储具有不同大小,索引和列名的数组.第二个选项似乎更适合处理数据,因为面板具有特定的方法,也可以轻松保存或导出(例如,到csv或pickle).

这两个选项中哪一个更适合:速度,内存使用,灵活性和数据分析?

问候

python dictionary panel dataframe pandas

5
推荐指数
1
解决办法
1284
查看次数

从列表生成具有不同长度的数据帧

在这里,我有很多不同长度的列表,比如a=[1,2,3]b=[2,3]

我想从它们生成一个pd.DataFrame,通过nan在列表末尾填充,如下所示:

   a  b
1  1  2 
2  2  3
3  3  nan
Run Code Online (Sandbox Code Playgroud)

有什么好主意可以帮我这么做吗?

python dataframe pandas

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

来自Dict的Panda Dataframe具有不同的长度值

我想从字典中创建一个数据框。键的每个值实际上是其中包含多个值的数组。

>>> my_dict = {"a": [1,2,3], "b": [0], "c": [3,5] }
Run Code Online (Sandbox Code Playgroud)

我想要第1列中的所有键以及第2列中的整个值数组。

我已经试过这篇文章。从条目长度不同的字典创建数据框

但是此解决方案将所有值从键分隔到多列。

预期DF应该看起来像这样

>>> df 
      Key_Column   Value_Column
          a            [1,2,3]
          b            [0]
          c            [3,5]
Run Code Online (Sandbox Code Playgroud)

dictionary dataframe pandas

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

Python - 类型错误:需要字符串或字节对象

经过大量研究,我无法弄清楚为什么在我的代码中收到此错误。

我正在尝试将 Pandas Dataframe 导出到我的 Oracle 表。我已经在其他数据表上成功完成了数百次,但这个不断产生错误。

这是我的数据框,我pd.read_excel用简单的df['column_name'] = variable命令阅读并附加了我自己的三列:

S USTAINABLE H ARVEST S ECTOR| QUOTA LISTING APRIL 16 2013 Unnamed: 1  \
1                                                DATE           TRADE ID   
2                                            04/02/13             130014   
3                                                   0                  0   
4                                                   0                  0   
5                                                   0                  0   
6                                 FY13 QUOTA – TO BUY                  0   
7                                                DATE           TRADE ID   
8                                             3/26/13             130006   
9                                              4/9/13             130012   
10                                            3/26/13             130007   
11                                            3/26/13             130001   
12                                            3/26/13             130009   
13                                             4/9/13             130013   
14                                            3/26/13             130010   
15                                            3/26/13             130008   
16 …
Run Code Online (Sandbox Code Playgroud)

python sql cx-oracle dataframe pandas

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

在 Pandas 中创建 DataFrame 时用默认 0 填充

我有一个输入 dict-of-string-to-list,列表的长度可能不同。

d = {'b': [2,3], 'a': [1]}
Run Code Online (Sandbox Code Playgroud)

当我这样做时:df = pd.DataFrame(data=d),我看到ValueError: arrays must all be same length

问题:如何在创建 df 时使用默认值(例如 0)填充缺失值?


创建 df 的原因是为了得到最终结果: {'b': 3}

3是列表中所有数字的最大值。

python dataframe pandas

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

熊猫:GroupBy到DataFrame

关于groupby到dataframe有一个非常受欢迎的SO问题,请看这里.不幸的是,我不认为这个特定的用例是最有用的.

假设您有一个展平形式的分层数据集:

例如

     key    val 
0    'a'    2
1    'a'    1
2    'b'    3
3    'b'    4
Run Code Online (Sandbox Code Playgroud)

我想做的是将该数据帧转换为此结构

    'a'  'b'
0    2    3
1    1    4
Run Code Online (Sandbox Code Playgroud)

我觉得这会很简单

pd.DataFrame(df.groupby('key').groups)
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.

那么我该如何进行这种转变呢?

python pandas pandas-groupby

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

将字典不等项转换为数据框

我有一个有 3000 个键的字典,每个键都有一个列表作为它的值,

例子:

dictionary = {'yup': ['chocolate', 'pizza', 'rainbows'], 'tape': ['what', 'milk'], ....}
Run Code Online (Sandbox Code Playgroud)

我想将此字典转换为数据库,但由于我的值不相等,因此无法使用 pandas 命令“ pd.DataFrame(dictionary)”。我收到错误消息“数组的长度必须相同”。

我的问题是,我如何仍然创建一个数据框(转置它)并在没有数据的地方使用空单元格。

例子:

index   column1      column2   column3 

`'yup'  'chocolate'  'pizza'    'rainbows`'

'tape'  'what'       'milk'     blank
Run Code Online (Sandbox Code Playgroud)

python dictionary dataframe python-3.x pandas

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