我有一个包含多个列的pandas数据帧,其中一个是我使用split命令拆分成列表的字符串:
import Pandas as pd
csvRead = pd.read_csv('../data/Data.csv')
df = pd.DataFrame(csvRead)
df['split_string'] = df['string'].str.split(r'[ ]')
idx = 0
for i in df['split_string']:
d
我有一个包含许多空值的稀疏Pandas数据帧,我希望对其进行过滤,以便在最终数据集中只保留具有超过10个浮点型条目的行和列。我尝试使用现有的代码片段,但似乎不起作用: df.drop([col for col, val = df.count(axis=1, numeric_only='float') if val < 10], axis=1, inplace=True) 谁能告诉我在我的数据帧中删除稀疏列的最好方法是什么?
我有一个有几个..csv文件的文件夹。每个包含数据的时间,高,低,开放,Volumefrom,Volumeto,加密货币关闭。
我成功地将.csvs加载到一个数据文件列表中,并删除了列Open、High、Low、Volumefrom、Volumeto,这是我不需要的,给我留下了时间,并关闭了每个数据帧。
现在我想把数据列表组合成一个数据,索引以最小的硬币的时间戳开始,在这个例子中是iota。
这是我到目前为止编写的代码:
import pandas as pd
import os
# Path to my folder
PATH_COINS = r"C:\Users\...\C
我用Pandas创建了一个包含数字的数据框架。我需要检查从这个数据帧中提取的值是空值还是零值。因此,我尝试以下几点:
a = df.ix[[0], ['Column Title']].values
if a != 0 or not math.isnan(float(a)):
print "It is neither a zero nor null"
虽然它看起来确实有效,但有时我会遇到以下错误:
TypeError: don't know how to convert scalar number to float
我做错了什么?
我在for循环中访问一系列Excel文件。然后,我将excel文件中的数据读取到pandas数据帧中。我想不出如何将这些数据帧附加在一起,然后将数据帧(现在包含所有文件中的数据)保存为新的Excel文件。
这是我尝试过的:
for infile in glob.glob("*.xlsx"):
data = pandas.read_excel(infile)
appended_data = pandas.DataFrame.append(data) # requires at least two arguments
appended_data.to_excel(&
我正在尝试从三个列表创建一个dataframe,这三个列表是我使用网络抓取的数据生成的。但是,当我尝试将这些列表转换为字典,然后使用它们来构建我的pandas数据帧时,它会为每个字典项(行)输出一个数据帧,而不是将所有这些项都作为行包含在数据帧中的一个数据帧。 我认为问题出在我用来网络抓取数据的for循环中。我知道在这个问题上也有人问过类似的问题,包括这里的Pandas DataFrame created for each row和这里的Take multiple lists into dataframe,但我已经尝试了这些解决方案,但没有任何乐趣。我相信网络刮擦循环增加了一个细微的差别,使
我有一个这样的数据帧
# initialize list of lists
data = [[1, ['ABC', 'pqr']], [2, ['abc', 'XY']], [3, np.nan]]
# Create the pandas DataFrame
data = pd.DataFrame(data, columns = ['Name', 'Val'])
data
Name Val
0 1 [ABC, pqr]
1 2 [abc, XY]
2
我有一个pandas数据帧,它由300万行和50列组成,所有列都包含整数(正数或负数)。我想创建一个名为'feature‘的新列,它从现有的50列中提取最大的负数。
例如,如果对于给定行,50列包含以下值
-25,-24,-23,...,-1,1,...,23,24,25
“feature”列应返回-1。
因为我的数据帧太大了,所以我尝试的解决方案花费的时间太长了。例如,我尝试过使用列表理解,但是因为我求助于iterrows(),所以它太慢了(itertuples()的性能并没有明显的提高):
import numpy as np
import pandas as pd
from tq
给定一个数据帧列表,我希望迭代地合并它们并返回单个数据帧。输入:frames (熊猫数据框列表)和on_columns (包含要合并的列名的字符串或字符串列表)。如何使用df.merge完成此操作?“给定数据帧列表,以迭代方式合并它们并返回单个数据帧
"""HINT: Use slice on frames when iterating and merging.
Arguments:
frames {list} -- a list of pandas DataFrames
on_columns {string or list} -- a string
我试图通过一次添加几行来填充pandas中的现有数据帧,行数取决于一个理解列表,因此它是可变的。初始数据帧按如下方式填充: import pandas as pd
import portion as P
columns = ['chr', 'Start', 'End', 'type']
x = pd.DataFrame(columns=columns)
RANGE = [(212, 222),(866, 888),(152, 158)]
INTERVAL= P.Interval(*[P.closed(x, y) for x
尝试从一个Pandas数据帧中提取列的切片,转置该切片,并将其插入到不同数据帧中类似大小的行切片中。两个数据帧中的标签和索引不同。对于大型数据帧,我目前正在运行for循环,逐个单元格地复制每个值,但效率非常低。
除了for循环,我已经尝试了.loc,.iloc,与转置,但没有成功。pivot,pivot_table,melt在这里似乎不适用,否则我无法理解如何将它们应用于这个看似简单的问题。
# Two dataframes here
import pandas as pd
import numpy as np
numRng = np.arange(20).reshape((5, 4))
df
因此,当我尝试放置不同大小的dataframe时,总是导致错误。
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
# For reading stock data from yahoo
import pandas_datareader as web
# For time stamps
from datetime import datetime
closing_df = web.DataReader(['AAPL','GOOG','MSFT'