我有以下数据帧:
col
0 pre
1 post
2 a
3 b
4 post
5 pre
6 pre
我希望将dataframe中不包含'pre‘的所有行替换为’not pre‘,因此dataframe如下所示:
col
0 pre
1 nonpre
2 nonpre
3 nonpre
4 nonpre
5 pre
6 pre
我可以使用字典和pandas替换,但是我只想选择不是“pre”的元素,并将它们替换为“not pre”。有没有更好的方法来做到这一点,而不用在字典中列出所
我有一个特定id的开始日期和结束日期(df_with_start_end),我尝试从另一个数据帧(df_dates)中找出具有相同id的其他日期在它们之间。应在新列中输入结果。
我的想法是使用唯一的ID迭代数据帧df_with_start_end,对于每个ID,我尝试分析在df_with_start_end的开始日期和结束日期内是否有来自df_dates的任何其他日期。
我的实现是这样的,但它不是这样工作的。
for k in df_with_start_end['ID']:
df_with_start_end[k]['FREE_PERIOD'] = d
我想把数据水平地放入恒星的颜色大小的平面中。下面是我的数据(红巨星)的样子:
现在,我想把这些恒星放在水平方向的小箱子里(箱子= 0.2或0.3),即平行于给定的X轴。正如您所看到的,我用来表示bin的数字不是一个整数。
这是我到目前为止尝试过的:
f814w = RGB_stars['col42'] # These are the stars I want to bin
f814w_cut = pd.cut(f814w, bins=0.2) # using pd.cut with bins=0.2
这给了我一个错误:
"ValueError:bins应为正整数。“
我需要获取每个列的类型,以便对其进行适当的预处理。
目前,我通过以下方法做到这一点:
import pandas as pd
# input is of type List[List[any]]
# but has one type (int, float, str, bool) per column
df = pd.DataFrame(input, columns=key_labels)
column_types = dict(df.dtypes)
matrix = df.values
由于我只使用pandas获取数据类型(每列),而使用numpy获取其他所有内容,因此我希望将panda
我需要用于我的Pandas DataFrame的键行索引,其中key是Pandas DataFrame的id列,data是行数据。
数据是稀疏的-我只需要访问几个键的数据,但是我不知道我需要访问哪个键。
我目前正在使用iterrows这样做:
pair_map = {}
for pair_id, data in df.iterrows():
pair_map[pair_id] = data
然而,对于非常多的行(大约100 k-1M),这会变得很慢。有没有更快的方法来为Pandas创建稀疏的密钥行索引,这样任意访问任何行的速度就会更快吗?更好的是,如果指数稀少,数据是从潘达斯按需提取
我正在处理100多万份专利申请,除了我稍后要做的其他事情外,我还必须确定日期。我将文件读入Pandas数据帧,然后运行以下函数: def date_change():
new_dates = {'m/y': []}
for i, row in apps.iterrows():
try:
d = row['date'].rsplit('/')
new_dates['m/y'
Pandas有isnull()和NaN ()方法来替换DataFrames中的填充值。我有一个数据集,其中大部分是字符串类型的列,但一些列中散布着一些浮点值。在Pandas中有没有一些等价的方法来查找和替换它们? 因此,如果我有一个这样的DataFrame: In [60]: df1=pd.DataFrame([[1.0,'foo'],[2.0,1.0],[float('NaN'),'bar'],[4.0,0.0],[5.0,'baz']],columns=['fval','sval'])
In
我正在使用测试数据帧(df)中德语tweet(文本)的情感。
为此,我将使用以下代码:
from germansentiment import SentimentModel
model = SentimentModel()
df['sentiment'] = ''
for i in range(len(df)):
df['sentiment'][i] = model.predict_sentiment([df['text'].iloc[i]])
print(df['sentiment'][i])