这是一个普遍的问题,但我已经使用熊猫一年多了,当我在熊猫DataFrame专栏中混合类型时,我就会陷入麻烦。我经常会有这样一个DataFrame:
df2 =
0 1 2 3 4
val_str test test test test test
val_date 2014-01-15 2014-01-15 2014-01-15 2014-01-15 2014-01-15
val_float 1.5 1.5
我正在从一个DataFrame文件中读取hdf5:
import pandas as pd
store = pd.HDFStore('some_file.h5')
df= store['df']
store.close()
使用info显示:
In [11]: df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 21423657 entries, 0 to 21423656
Data columns (total 5 columns):
date datet
我有一个形状(70万,5000)的大熊猫DataFrame,其中包含混合的d类型列(主要是int8、一些float64和几个datetime64ns)。对于dataframe中的每一行,如果另一列也等于零,则希望将某些列的值设置为零。
如果我遍历dataframe并使用iloc设置值,它会非常慢。我尝试过迭代和迭代。
1.迭代行
ix_1 = 3
ix_to_change = [20, 24, 51] # Actually it is almost 5000 columns to change
for i, row in df.iterrows():
if not row[ix_1]
我想要更改一个数据框列的数据类型(从datetime64到object)。
首先,我创建数据帧:
Python 2.6.8 (unknown, Jan 26 2013, 14:35:25)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> values = pd.Series(i for i in ran
例如:
df = pd.DataFrame([[int(1),2,3],[int(5),6,'a'],[0.1,4,True]], columns = list("abc"))
df
a b c
0 1.0 2 3
1 5.0 6 a
2 0.1 4 True
(附带的问题:为什么声明int不做任何事情?)
现在,df.dtypes返回
a float64
b int64
c object
dtype: object
但是,是否有可能在一列中实际列出所有不同的数据类型?
喜欢
a int64, flo
我正在使用pandastable在tkinter中显示熊猫的数据。我有一个只有一行和三个列的dataframe,所以我想垂直显示它,以节省我的GUI中的空间。原来的桌子是这样的:
Max | Min | Average
25.2 | 1.24 | 17.89
我想让它看起来像:
Max | 25.2
Min | 1.24
Average | 17.89
我已经尝试过在创建pandastable之前转换dataframes,并转换pandastable对象,但两者都不起作用。在尝试执行以下操作时,我会遇到以下错误:
agg_pt = Table(dataframe=agg_d
我有一个与多行类似的数据框架:
id type date_1 date_2 time_delta
1 a 2019-01-19 2019-01-10 9 days
1 b 2018-01-10 2019-01-10 -365 days
time_delta列等于从date_1中减去date_2,列date_1和date_2采用pandas.datetime格式。
我想删除time_delta列中所有带有负值的行。
我尝试将该行转换为整数,然后删除如下行:
df[
我有一个数据,其中一个列是字典,我在字典中得到了大量的条目,这给我带来了内存问题。解决方案是从字典中只得到前10项。我已经有了代码,但是它产生了一个错误:
TypeError: '<' not supported between instances of 'dict' and 'dict'
我制作了一个示例代码,只是为了向您展示我的问题:
import pandas as pd
import datetime
res = pd.DataFrame([])
res_tmp = pd.DataFrame([])
d = {'club&
目前,dataframe.dtypes输出: age int64
gender object
date datetime64[ns]
time datetime64[ns]
dtype: object 我希望输出仅包含date和time列,或者相反,仅包含类型为datetime64ns的列,即输出应为: date datetime64[ns]
time datetime64[ns]
dtype: object 我尝试了各种方法,比如使用dataframe.select_dtypes,但没有一种方法与所需的输出完全匹配。
我的一只熊猫df有日期时间字符串列。格式如下: TimeStamp value
11/12/2015 10:07:34 AM 24.5
11/12/2015 10:07:35 AM 55.1
so on 我尝试使用以下命令将列TimeStamp的值转换为纪元: dataframe['TimeStamp'] = pd.to_datetime(dataframe['TimeStamp']).values.astype(np.int64) // 10 ** 6 将日期时间字符串转换为unix时间戳时出现错误。帮助将是非常有价值
对于所有CSV源,我将提取器设置为:
USING Extractors.Csv(silent:true,skipFirstNRows:1);
- silent is set to true to ignore bad rows
- skipFirstNRows is set to 1 to skip the header row
但奇怪的是,我仍然会犯这样的错误:
HEX: "223122" Invalid character when converting input record.
Position: line 2, column index: 7, column na