小编Ste*_*fan的帖子

如何通过mysqldb将pandas数据帧插入数据库?

我可以从python连接到我的本地mysql数据库,我可以创建,选择和插入单个行.

我的问题是:我可以直接指示mysqldb获取整个数据帧并将其插入现有表中,还是我需要遍历行?

在任何一种情况下,对于一个包含ID和两个数据列以及匹配数据帧的非常简单的表,python脚本会是什么样子?

python mysql mysql-python pandas

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

具有缺失值的列子集的行方式平均值

我有一个'DataFrame`偶尔有缺失值,看起来像这样:

          Monday         Tuesday         Wednesday 
      ================================================
Mike        42             NaN               12
Jenna       NaN            NaN               15
Jon         21              4                 1
Run Code Online (Sandbox Code Playgroud)

我想新添加column到我的数据帧在那里我会计算所有的平均值columns为每row.

意思,因为Mike,我需要 (df['Monday'] + df['Wednesday'])/2,但因为Jenna,我只是使用df['Wednesday amt.']/1

有没有人知道解决由于缺失值导致的这种变化并计算平均值的最佳方法?

python dataframe pandas

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

将scipy稀疏csr变换为pandas?

我用过了

sklearn.preprocessing.OneHotEncoder
Run Code Online (Sandbox Code Playgroud)

转换一些数据输出是scipy.sparse.csr.csr_matrix 如何将其与其他列合并回原始数据框?

我试着用pd.concat但是得到了

TypeError: cannot concatenate a non-NDFrame object
Run Code Online (Sandbox Code Playgroud)

谢谢

python machine-learning scipy pandas scikit-learn

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

如何用Pandas读取UTF-8文件?

我有一个带有twitter数据的UTF-8文件,我试图将它读入Python数据框但我只能得到一个'对象'类型而不是unicode字符串:

# file 1459966468_324.csv
#1459966468_324.csv: UTF-8 Unicode English text
df = pd.read_csv('1459966468_324.csv', dtype={'text': unicode})
df.dtypes
text               object
Airline            object
name               object
retweet_count     float64
sentiment          object
tweet_location     object
dtype: object
Run Code Online (Sandbox Code Playgroud)

使用Pandas读取和强制UTF-8数据到unicode的正确方法是什么?

这并没有解决问题:

df = pd.read_csv('1459966468_324.csv', encoding = 'utf8')
df.apply(lambda x: pd.lib.infer_dtype(x.values))
Run Code Online (Sandbox Code Playgroud)

文本文件在这里:https: //raw.githubusercontent.com/l1x/nlp/master/1459966468_324.csv

python csv utf-8 pandas

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

如何从数据框表面绘图/ 3d图?

我是新来的pandasmatplotlib.无法准确引用绘制我DataFrame的模式如下

schema = StructType([
StructField("x", IntegerType(), True),
StructField("y", IntegerType(), True),
StructField("z", IntegerType(), True)])
Run Code Online (Sandbox Code Playgroud)

喜欢绘制3d图形wrt x,y和z

这是我使用的示例代码

import matplotlib.pyplot as pltt

dfSpark = sqlContext.createDataFrame(tupleRangeRDD, schema) // reading as spark df
df = dfSpark.toPandas()
fig = pltt.figure();
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(df['x'], df['y'], df['z']) 
Run Code Online (Sandbox Code Playgroud)

我得到一个空图形图.肯定遗漏了什么.有什么指针吗?

-谢谢

请求-1:打印df

def print_full(x):
pd.set_option('display.max_rows', len(x))
print(x)
pd.reset_option('display.max_rows')


print_full(df)
Run Code Online (Sandbox Code Playgroud)

前十名的结果

         x    y       z
0      301  301      10
1      300  301      16
2      300  300       6
3      299  301      30
4      299 …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib dataframe pandas

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

识别连续出现的值

我有一个这样的df:

Count
1
0
1
1
0
0
1
1
1
0
Run Code Online (Sandbox Code Playgroud)

我想返回1一个新列,如果有两个或多个连续出现1Count0如果没有.因此,在新列中,每行将1根据列中满足的此条件获得Count.那么我想要的输出是:

Count  New_Value
1      0 
0      0
1      1
1      1
0      0
0      0
1      1
1      1 
1      1
0      0
Run Code Online (Sandbox Code Playgroud)

我想我可能需要使用,itertools但我一直在阅读它,并没有遇到我需要的东西.我希望能够使用此方法计算任意数量的连续出现次数,而不仅仅是2次.例如,有时我需要连续计算10次,我在这里只使用2.

python python-itertools dataframe pandas

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

在多索引数据帧上使用 groupby/apply 时索引级别加倍

在 a 上使用groupby/apply链时遇到问题MultiIndex DataFrame:生成的数据框包含两次分组级别!

示例数据框:

df = pandas.DataFrame(dict(a=[1, 2, 3, 4, 5, 6], b=[6, 7, 8, 9, 0, 0]),
                      index=pandas.MultiIndex.from_product([[1, 2], [3, 4, 5]]))

     a  b
1 3  1  6
  4  2  7
  5  3  8
2 3  4  9
  4  5  0
  5  6  0
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我只是对行求和(我实际上有另一个函数,但它也接受并返回一个数据帧):

df.groupby(level=0).apply(lambda x: x.sum(axis=1))
Run Code Online (Sandbox Code Playgroud)

它给了我以下结果:

1  1  3     7
      4     9
      5    11
2  2  3    13
      4     5
      5     6
dtype: int64
Run Code Online (Sandbox Code Playgroud)

所以现在我有三个索引级别,其中一个按加倍分组。当我按两个级别分组时,整个多索引翻了一番:

df.groupby(level=[0,1]).apply(lambda x: x.sum(axis=1))

1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

从CSV文件向Pandas Dataframe添加数据导致值错误

我试图intPandas DataFramewith中 添加一个现有值

>>> df.ix['index 5','Total Dollars'] += 10
Run Code Online (Sandbox Code Playgroud)

我收到错误: ValueError: Must have equal len keys and value when setting with an iterable.

我认为错误来自datatype于:

>>> print type(df.ix['index 5','Total Dollars'] 
int64 <class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)

数据框通过CSV文件填充.我尝试从另一个CSV文件加载数据库:

>>> print type(df.ix['index 5','Total Dollars']
int64
Run Code Online (Sandbox Code Playgroud)

什么可能导致这种类型的差异?

python csv numpy pandas

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

Python/Pandas从csv创建zip文件

有没有人可以提供如何使用Python/Pandas包从csv文件创建zip文件的示例?谢谢

python csv compression zip pandas

11
推荐指数
2
解决办法
7219
查看次数

在熊猫中获取日期分位数

我有一些看起来像这样的数据:

user  timestamp  value1 
   a 2007-01-01       7 
   a 2007-02-02       8 
   a 2007-02-03       9 
   b 2007-02-04       1 
   a 2007-02-05       2 
   b 2007-02-06       3 
   b 2007-02-07       4 
   a 2007-02-08       5 
...
Run Code Online (Sandbox Code Playgroud)

每个用户具有不同数量的条目.

我的目标是了解这些条目的生成速度,并输出如下内容:

     last_entry median_entry first_entry
user                                    
a    2007-02-08   2007-02-03  2007-01-01
b    2007-02-07   2007-02-06  2007-02-04
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的代码如下:

gb = df.groupby('user')
time_median = gb['timestamp'].median()
Run Code Online (Sandbox Code Playgroud)

但这给了我DataError: No numeric types to aggregate,大概是因为日期不是数字.

我想可以将日期转换为时间戳,并找到它们的中位数,然后将它们转回date_time对象.这是最好的方式吗?

python numpy pandas

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